diff options
Diffstat (limited to 'src/assuan-pipe-server.c')
-rw-r--r-- | src/assuan-pipe-server.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/assuan-pipe-server.c b/src/assuan-pipe-server.c index db66978..7977b83 100644 --- a/src/assuan-pipe-server.c +++ b/src/assuan-pipe-server.c @@ -82,8 +82,11 @@ assuan_init_pipe_server (assuan_context_t ctx, assuan_fd_t filedes[2]) return TRACE_ERR (rc); #ifdef HAVE_W32_SYSTEM - infd = filedes[0]; - outfd = filedes[1]; + if (filedes) + { + infd = filedes[0]; + outfd = filedes[1]; + } #else s = getenv ("_assuan_connection_fd"); if (s && *s && is_valid_socket (s)) @@ -115,7 +118,11 @@ assuan_init_pipe_server (assuan_context_t ctx, assuan_fd_t filedes[2]) ctx->engine.readfnc = _assuan_simple_read; ctx->engine.writefnc = _assuan_simple_write; ctx->engine.sendfd = NULL; +#ifdef HAVE_W32_SYSTEM + ctx->engine.receivefd = w32_fdpass_recv; +#else ctx->engine.receivefd = NULL; +#endif ctx->max_accepts = 1; s = getenv ("_assuan_pipe_connect_pid"); |