aboutsummaryrefslogtreecommitdiffstats
path: root/sm/server.c
diff options
context:
space:
mode:
authorMarcus Brinkmann <[email protected]>2010-06-10 23:17:33 +0000
committerMarcus Brinkmann <[email protected]>2010-06-10 23:17:33 +0000
commit13dab2af8b121e270743e89eab21aff19cc6e89a (patch)
tree693efab3d74ae0914ee9e9d83800371c484a0ce3 /sm/server.c
parent2010-06-10 Marcus Brinkmann <[email protected]> (diff)
downloadgnupg-13dab2af8b121e270743e89eab21aff19cc6e89a.tar.gz
gnupg-13dab2af8b121e270743e89eab21aff19cc6e89a.zip
common/
2010-06-11 Marcus Brinkmann <[email protected]> * sysutils.c (translate_sys2libc_fd): Revert last change. (translate_sys2libc_fd_int): Revert last change. sm/ 2010-06-11 Marcus Brinkmann <[email protected]> * server.c (cmd_message) [HAVE_W32CE_SYSTEM]: Finish pipe.
Diffstat (limited to 'sm/server.c')
-rw-r--r--sm/server.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sm/server.c b/sm/server.c
index d8a30acf3..22ddb5f18 100644
--- a/sm/server.c
+++ b/sm/server.c
@@ -163,6 +163,7 @@ close_message_fd (ctrl_t ctrl)
{
if (ctrl->server_local->message_fd != -1)
{
+#warning Is this correct for W32/W32CE?
close (ctrl->server_local->message_fd);
ctrl->server_local->message_fd = -1;
}
@@ -839,6 +840,14 @@ cmd_message (assuan_context_t ctx, char *line)
rc = assuan_command_parse_fd (ctx, line, &sysfd);
if (rc)
return rc;
+
+#ifdef HAVE_W32CE_SYSTEM
+ sysfd = _assuan_w32ce_finish_pipe ((int)sysfd, 0);
+ if (sysfd == INVALID_HANDLE_VALUE)
+ return set_error (gpg_err_code_from_syserror (),
+ "rvid conversion failed");
+#endif
+
fd = translate_sys2libc_fd (sysfd, 0);
if (fd == -1)
return set_error (GPG_ERR_ASS_NO_INPUT, NULL);