From 75966a4186955f3a4625e93796145036c5986d2e Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 13 Jul 2012 14:36:25 -0700 Subject: xwin: Clean up os wrappers for System, Popen and Pclose on Windows Popen and Pclose are never used on Windows, so don't bother to even try to define them. System(s) was defined as system(s), but the two users of that function are in xkb, which carefully redefines that as Win32System. Move Win32System and Win32TempDir to os/utils.c, renaming Win32System to be just System, which simplifies the xkb code Signed-off-by: Keith Packard Reviewed-by: Jon TURNEY --- xkb/ddxList.c | 6 ----- xkb/ddxLoad.c | 75 ----------------------------------------------------------- 2 files changed, 81 deletions(-) (limited to 'xkb') diff --git a/xkb/ddxList.c b/xkb/ddxList.c index 9b69b2b82..79f46379c 100644 --- a/xkb/ddxList.c +++ b/xkb/ddxList.c @@ -44,12 +44,6 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #ifdef WIN32 /* from ddxLoad.c */ -extern const char *Win32TempDir(void); -extern int Win32System(const char *cmdline); - -#undef System -#define System Win32System - #define W32_tmparg " '%s'" #define W32_tmpfile ,tmpname #define W32_tmplen strlen(tmpname)+3 diff --git a/xkb/ddxLoad.c b/xkb/ddxLoad.c index cb2dfc31c..d462957f4 100644 --- a/xkb/ddxLoad.c +++ b/xkb/ddxLoad.c @@ -68,81 +68,6 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #define PATHSEPARATOR "/" #endif -#ifdef WIN32 - -#include -const char * -Win32TempDir() -{ - static char buffer[PATH_MAX]; - - if (GetTempPath(sizeof(buffer), buffer)) { - int len; - - buffer[sizeof(buffer) - 1] = 0; - len = strlen(buffer); - if (len > 0) - if (buffer[len - 1] == '\\') - buffer[len - 1] = 0; - return buffer; - } - if (getenv("TEMP") != NULL) - return getenv("TEMP"); - else if (getenv("TMP") != NULL) - return getenv("TEMP"); - else - return "/tmp"; -} - -int -Win32System(const char *cmdline) -{ - STARTUPINFO si; - PROCESS_INFORMATION pi; - DWORD dwExitCode; - char *cmd = strdup(cmdline); - - ZeroMemory(&si, sizeof(si)); - si.cb = sizeof(si); - ZeroMemory(&pi, sizeof(pi)); - - if (!CreateProcess(NULL, cmd, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) { - LPVOID buffer; - - if (!FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | - FORMAT_MESSAGE_FROM_SYSTEM | - FORMAT_MESSAGE_IGNORE_INSERTS, - NULL, - GetLastError(), - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), - (LPTSTR) & buffer, 0, NULL)) { - ErrorF("[xkb] Starting '%s' failed!\n", cmdline); - } - else { - ErrorF("[xkb] Starting '%s' failed: %s", cmdline, (char *) buffer); - LocalFree(buffer); - } - - free(cmd); - return -1; - } - /* Wait until child process exits. */ - WaitForSingleObject(pi.hProcess, INFINITE); - - GetExitCodeProcess(pi.hProcess, &dwExitCode); - - /* Close process and thread handles. */ - CloseHandle(pi.hProcess); - CloseHandle(pi.hThread); - free(cmd); - - return dwExitCode; -} - -#undef System -#define System(x) Win32System(x) -#endif - static void OutputDirectory(char *outdir, size_t size) { -- cgit v1.2.3