aboutsummaryrefslogtreecommitdiffstats
path: root/g10/exec.c
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2022-11-09 01:37:58 +0000
committerNIIBE Yutaka <[email protected]>2022-11-09 01:37:58 +0000
commit8afa9735a6968ccd4be4e22a98d5b775df0c695a (patch)
tree557991b754666bf98376ed0b66612caa211ab82c /g10/exec.c
parentgpg: New option --quick-update-pref. (diff)
downloadgnupg-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.c115
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)