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); | 
