diff options
author | NIIBE Yutaka <[email protected]> | 2022-11-09 01:37:58 +0000 |
---|---|---|
committer | NIIBE Yutaka <[email protected]> | 2022-11-09 01:37:58 +0000 |
commit | 8afa9735a6968ccd4be4e22a98d5b775df0c695a (patch) | |
tree | 557991b754666bf98376ed0b66612caa211ab82c /g10/exec.c | |
parent | gpg: New option --quick-update-pref. (diff) | |
download | gnupg-8afa9735a6968ccd4be4e22a98d5b775df0c695a.tar.gz gnupg-8afa9735a6968ccd4be4e22a98d5b775df0c695a.zip |
gpg: Move w32_system function.
* g10/exec.h (w32_system): Not exposed.
* g10/exec.c (w32_system): Move to ...
* g10/photoid.c: here.
--
Signed-off-by: NIIBE Yutaka <[email protected]>
Diffstat (limited to 'g10/exec.c')
-rw-r--r-- | g10/exec.c | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/g10/exec.c b/g10/exec.c index 75b39e0fe..3189fffc3 100644 --- a/g10/exec.c +++ b/g10/exec.c @@ -19,12 +19,6 @@ #include <config.h> #include <stdlib.h> -#ifdef HAVE_DOSISH_SYSTEM -# ifdef HAVE_WINSOCK2_H -# include <winsock2.h> -# endif -# include <windows.h> -#endif #include <string.h> #include "gpg.h" @@ -35,115 +29,6 @@ #ifdef NO_EXEC int set_exec_path(const char *path) { return GPG_ERR_GENERAL; } #else -#if defined (_WIN32) -/* This is a nicer system() for windows that waits for programs to - return before returning control to the caller. I hate helpful - computers. */ -int -w32_system(const char *command) -{ - if (!strncmp (command, "!ShellExecute ", 14)) - { - SHELLEXECUTEINFOW see; - wchar_t *wname; - int waitms; - - command = command + 14; - while (spacep (command)) - command++; - waitms = atoi (command); - if (waitms < 0) - waitms = 0; - else if (waitms > 60*1000) - waitms = 60000; - while (*command && !spacep (command)) - command++; - while (spacep (command)) - command++; - - wname = utf8_to_wchar (command); - if (!wname) - return -1; - - memset (&see, 0, sizeof see); - see.cbSize = sizeof see; - see.fMask = (SEE_MASK_NOCLOSEPROCESS - | SEE_MASK_NOASYNC - | SEE_MASK_FLAG_NO_UI - | SEE_MASK_NO_CONSOLE); - see.lpVerb = L"open"; - see.lpFile = (LPCWSTR)wname; - see.nShow = SW_SHOW; - - if (DBG_EXTPROG) - log_debug ("running ShellExecuteEx(open,'%s')\n", command); - if (!ShellExecuteExW (&see)) - { - if (DBG_EXTPROG) - log_debug ("ShellExecuteEx failed: rc=%d\n", (int)GetLastError ()); - xfree (wname); - return -1; - } - if (DBG_EXTPROG) - log_debug ("ShellExecuteEx succeeded (hProcess=%p,hInstApp=%d)\n", - see.hProcess, (int)see.hInstApp); - - if (!see.hProcess) - { - gnupg_usleep (waitms*1000); - if (DBG_EXTPROG) - log_debug ("ShellExecuteEx ready (wait=%dms)\n", waitms); - } - else - { - WaitForSingleObject (see.hProcess, INFINITE); - if (DBG_EXTPROG) - log_debug ("ShellExecuteEx ready\n"); - } - CloseHandle (see.hProcess); - - xfree (wname); - } - else - { - char *string; - wchar_t *wstring; - PROCESS_INFORMATION pi; - STARTUPINFOW si; - - /* We must use a copy of the command as CreateProcess modifies - * this argument. */ - string = xstrdup (command); - wstring = utf8_to_wchar (string); - xfree (string); - if (!wstring) - return -1; - - memset (&pi, 0, sizeof(pi)); - memset (&si, 0, sizeof(si)); - si.cb = sizeof (si); - - if (!CreateProcessW (NULL, wstring, NULL, NULL, FALSE, - DETACHED_PROCESS, - NULL, NULL, &si, &pi)) - { - xfree (wstring); - return -1; - } - - /* Wait for the child to exit */ - WaitForSingleObject (pi.hProcess, INFINITE); - - CloseHandle (pi.hProcess); - CloseHandle (pi.hThread); - xfree (wstring); - } - - return 0; -} -#endif /*_W32*/ - - /* Replaces current $PATH */ int set_exec_path(const char *path) |