diff options
Diffstat (limited to 'src/gpgme-tool.c')
-rw-r--r-- | src/gpgme-tool.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/gpgme-tool.c b/src/gpgme-tool.c index 26247590..63df70d1 100644 --- a/src/gpgme-tool.c +++ b/src/gpgme-tool.c @@ -1879,7 +1879,8 @@ server_data_obj (assuan_fd_t fd, gpgme_data_encoding_t encoding, { gpgme_error_t err; - err = gpgme_data_new_from_fd (data, fd); + /* For now... */ + err = gpgme_data_new_from_fd (data, (int) fd); if (err) return err; return gpgme_data_set_encoding (*data, encoding); @@ -1894,11 +1895,15 @@ server_reset_fds (struct server *server) here. */ assuan_close_input_fd (server->assuan_ctx); assuan_close_output_fd (server->assuan_ctx); - if (server->message_fd != -1) + if (server->message_fd != ASSUAN_INVALID_FD) { /* FIXME: Assuan should provide a close function. */ +#if HAVE_W32_SYSTEM + CloseHandle (server->message_fd); +#else close (server->message_fd); - server->message_fd = -1; +#endif + server->message_fd = ASSUAN_INVALID_FD; } server->input_enc = GPGME_DATA_ENCODING_NONE; server->output_enc = GPGME_DATA_ENCODING_NONE; @@ -2777,7 +2782,7 @@ gpgme_server (gpgme_tool_t gt) static const char hello[] = ("GPGME-Tool " VERSION " ready"); memset (&server, 0, sizeof (server)); - server.message_fd = -1; + server.message_fd = ASSUAN_INVALID_FD; server.input_enc = GPGME_DATA_ENCODING_NONE; server.output_enc = GPGME_DATA_ENCODING_NONE; server.message_enc = GPGME_DATA_ENCODING_NONE; |