2007-09-27 Marcus Brinkmann <marcus@g10code.de>
+ * assuan-pipe-connect.c (pipe_connect_gpgme): Do not close process
+ handle here. Use this function also on Unix systems.
+
* assuan-pipe-connect.c (pipe_connect_gpgme): Fix last change.
* assuan-pipe-connect.c (pipe_connect_gpgme): New function, use it
}
+#ifndef _ASSUAN_IN_GPGME_BUILD_ASSUAN
+
#ifndef HAVE_W32_SYSTEM
#define pipe_connect pipe_connect_unix
/* Unix version of the pipe connection code. We use an extra macro to
return initial_handshake (ctx);
}
#endif /*!HAVE_W32_SYSTEM*/
+#endif /* _ASSUAN_IN_GPGME_BUILD_ASSUAN */
#ifndef HAVE_W32_SYSTEM
+
#ifdef _ASSUAN_IN_GPGME_BUILD_ASSUAN
#define pipe_connect pipe_connect_gpgme
void *atforkvalue)
{
assuan_error_t err;
- int pid;
+ int res;
int rp[2];
int wp[2];
char mypidstr[50];
child_fds[2].fd = -1;
/* Start the process. */
- pid = _gpgme_io_spawn (name, argv, child_fds, child_fds);
- if (pid == -1)
+ res = _gpgme_io_spawn (name, argv, child_fds, child_fds);
+ if (res == -1)
{
_assuan_log_printf ("CreateProcess failed: %s\n", strerror (errno));
_gpgme_io_close (rp[0]);
return _assuan_error (ASSUAN_General_Error);
}
- /* ERR contains the PID. */
(*ctx)->pid = 0; /* We don't use the PID. */
- /* FIXME: Should be done by GPGME. */
- CloseHandle ((HANDLE) pid); /* We don't need to wait for the process. */
-
return initial_handshake (ctx);
}
2007-09-27 Marcus Brinkmann <marcus@g10code.de>
+ * w32-glib-io.c (_gpgme_io_spawn),
+ w32-qt-io.cpp (_gpgme_io_spawn), w32-io.c (_gpgme_io_spawn): Close
+ the process handle, return 0.
+
* gpgme.h (gpgme_protocol_t): Add GPGME_PROTOCOL_UNKNOWN.
* gpgme.c (gpgme_get_protocol_name): Implement support for
GPGME_PROTOCOL_UNKNOWN.
AM_PATH_GPGME macro) check that this header matches the installed
library. Warning: Do not edit the next line. configure will do
that for you! */
-#define GPGME_VERSION "1.1.6-svn1258"
+#define GPGME_VERSION "1.1.6-svn1264"
\f
(int) GetLastError ());
TRACE_SUC1 ("process=%p", pi.hProcess);
- return 0;
+
+ /* We don't need to wait for the process. */
+ CloseHandle (pi.hProcess);
+
+ return TRACE_SYSRES (0);
}
(int) GetLastError ());
TRACE_SUC1 ("process=%p", pi.hProcess);
- return handle_to_pid (pi.hProcess);
+
+ /* We don't need to wait for the process. */
+ CloseHandle (pi.hProcess);
+
+ return TRACE_SYSRES (0);
}
(int) GetLastError ());
TRACE_SUC1 ("process=%p", pi.hProcess);
- return 0;
+
+ /* We don't need to wait for the process. */
+ CloseHandle (pi.hProcess);
+
+ return TRACE_SYSRES (0);
}
+2007-09-27 Marcus Brinkmann <marcus@g10code.de>
+
+ * t-engine-info.c (check_engine_info): Fix debug output.
+ * gpg/Makefile.am (tests_unix): New variable.
+ (TESTS): Use it.
+ * gpg/t-support.h (passphrase_cb) [HAVE_W32_SYSTEM]: Use WriteFile instead of write.
+ * gpg/t-wait.c [HAVE_W32_SYSTEM]: Define sleep as _sleep.
+
2007-09-14 Marcus Brinkmann <marcus@g10code.de>
* gpgsm/t-verify.c (main): Release TEXT and SIG.
# The keylist tests must come after the import and the edit test.
noinst_HEADERS = t-support.h
-TESTS = t-encrypt t-encrypt-sym t-encrypt-sign t-sign t-signers \
- t-decrypt t-verify t-decrypt-verify t-sig-notation \
- t-export t-import t-trustlist t-eventloop t-edit \
- t-keylist t-keylist-sig t-thread1 t-wait t-encrypt-large \
- t-file-name
+
+if HAVE_W32_SYSTEM
+tests_unix =
+else
+tests_unix = t-eventloop t-thread1
+endif
+
+TESTS = t-encrypt t-encrypt-sym t-encrypt-sign t-sign t-signers \
+ t-decrypt t-verify t-decrypt-verify t-sig-notation t-export \
+ t-import t-trustlist t-edit t-keylist t-keylist-sig t-wait \
+ t-encrypt-large t-file-name $(tests_unix)
CLEANFILES = secring.gpg pubring.gpg trustdb.gpg
DISTCLEANFILES = pubring.gpg~ random_seed gpg.conf
#include <stdlib.h>
#include <locale.h>
+#ifdef HAVE_W32_SYSTEM
+#include <windows.h>
+#endif
+
#include <gpgme.h>
#ifndef DIM
passphrase_cb (void *opaque, const char *uid_hint, const char *passphrase_info,
int last_was_bad, int fd)
{
+#ifdef HAVE_W32_SYSTEM
+ DWORD written;
+ WriteFile ((HANDLE) fd, "abc\n", 4, &written, 0);
+#else
write (fd, "abc\n", 4);
+#endif
+
return 0;
}
/* t-wait.c - Regression test.
Copyright (C) 2000 Werner Koch (dd9jn)
- Copyright (C) 2001, 2002, 2003, 2004, 2005 g10 Code GmbH
+ Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007 g10 Code GmbH
This file is part of GPGME.
#include <stdio.h>
#include <string.h>
+#ifdef HAVE_W32_SYSTEM
+#define sleep _sleep
+#endif
+
#include <gpgme.h>
#include "t-support.h"
/* t-engine-info.c - Regression test for gpgme_get_engine_info.
- Copyright (C) 2003, 2004 g10 Code GmbH
+ Copyright (C) 2003, 2004, 2007 g10 Code GmbH
This file is part of GPGME.
}
if (strcmp (info->file_name, file_name))
{
- fprintf (stderr, "Unexpected file name to executable %s (expected %s instead)",
+ fprintf (stderr, "Unexpected file name to executable %s (expected %s instead)\n",
info->file_name, file_name);
exit (1);
}
if (strcmp (info->req_version, req_version))
{
- fprintf (stderr, "Unexpected required version %s (expected %s instead)",
+ fprintf (stderr, "Unexpected required version %s (expected %s instead)\n",
info->req_version, req_version);
exit (1);
}