diff options
author | Werner Koch <[email protected]> | 2015-10-28 15:27:49 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2015-10-28 15:28:48 +0000 |
commit | bb2d11c1eebd4bcfb0f2cfce728026a7420dca47 (patch) | |
tree | f5eed1c9ca06c6d4a5bfdb6110bd92b58d8679a5 /src/w32-io.c | |
parent | w32: Improve locating gpgconf on 64 bit systems. (diff) | |
download | gpgme-bb2d11c1eebd4bcfb0f2cfce728026a7420dca47.tar.gz gpgme-bb2d11c1eebd4bcfb0f2cfce728026a7420dca47.zip |
w32: Add extra diagnostic about possible missing gpgme-w32spawn.exe.
* src/w32-io.c (_gpgme_io_spawn): Add a new diagnostic.
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'src/w32-io.c')
-rw-r--r-- | src/w32-io.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/w32-io.c b/src/w32-io.c index 42961e31..a6d52388 100644 --- a/src/w32-io.c +++ b/src/w32-io.c @@ -1550,6 +1550,7 @@ _gpgme_io_spawn (const char *path, char *const argv[], unsigned int flags, int debug_me = 0; int tmp_fd; char *tmp_name; + const char *spawnhelper; TRACE_BEG1 (DEBUG_SYSIO, "_gpgme_io_spawn", path, "path=%s", path); @@ -1603,7 +1604,8 @@ _gpgme_io_spawn (const char *path, char *const argv[], unsigned int flags, if ((flags & IOSPAWN_FLAG_DETACHED)) cr_flags |= DETACHED_PROCESS; cr_flags |= GetPriorityClass (GetCurrentProcess ()); - if (!CreateProcessA (_gpgme_get_w32spawn_path (), + spawnhelper = _gpgme_get_w32spawn_path (); + if (!CreateProcessA (spawnhelper, arg_string, &sec_attr, /* process security attributes */ &sec_attr, /* thread security attributes */ @@ -1614,7 +1616,10 @@ _gpgme_io_spawn (const char *path, char *const argv[], unsigned int flags, &si, /* startup information */ &pi)) /* returns process information */ { - TRACE_LOG1 ("CreateProcess failed: ec=%d", (int) GetLastError ()); + int lasterr = (int)GetLastError (); + TRACE_LOG1 ("CreateProcess failed: ec=%d", lasterr); + if (lasterr == ERROR_INVALID_PARAMETER) + TRACE_LOG1 ("(is '%s' correctly installed?)", spawnhelper); free (arg_string); close (tmp_fd); DeleteFileA (tmp_name); |