aboutsummaryrefslogtreecommitdiffstats
path: root/common/sysutils.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/sysutils.c')
-rw-r--r--common/sysutils.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/common/sysutils.c b/common/sysutils.c
index c6c9bda8e..25dd6a7c4 100644
--- a/common/sysutils.c
+++ b/common/sysutils.c
@@ -299,11 +299,16 @@ translate_sys2libc_fd (gnupg_fd_t fd, int for_write)
}
/* This is the same as translate_sys2libc_fd but takes an integer
- which is assumed to be such an system handle. */
+ which is assumed to be such an system handle. On WindowsCE the
+ passed FD is a rendezvous ID and the function finishes the pipe
+ creation. */
int
translate_sys2libc_fd_int (int fd, int for_write)
{
-#ifdef HAVE_W32_SYSTEM
+#if HAVE_W32CE_SYSTEM
+ fd = _assuan_w32ce_finish_pipe fd, for_write);
+ return translate_sys2libc_fd ((void*)fd, for_write);
+#elif HAVE_W32_SYSTEM
if (fd <= 2)
return fd; /* Do not do this for error, stdin, stdout, stderr. */