It appears Solaris's cc is ignoring the signedness of bitfield types.
[xiph/unicode.git] / win32sdk / execwait.c
blob1c55eab43bc953c9cacf42070c9d2243170761a5
1 /*
2 * $Id: execwait.c,v 1.2 2001/10/21 20:32:03 cwolf Exp $
3 */
4 #include <windows.h>
5 #include <winbase.h>
6 #include <stdio.h>
7 #include <string.h>
10 /**
11 * Execute a command and wait for it's completion.
13 * @author Matthijs Laan
15 int main(int argc, char **argv)
17 STARTUPINFO si;
18 PROCESS_INFORMATION pi;
20 char *cmdline;
21 int argend;
22 int i;
24 if(argc==1)
26 (void)fprintf(stderr, "Usage: execandwait commands\n");
27 exit(1);
30 for(i=1,
31 cmdline = (char *)malloc(strlen(argv[1]) + 1),
32 *cmdline = '\0';
33 i<argc; i++)
35 (void)strcat(cmdline, argv[i]);
36 (void)strcat(cmdline, " ");
38 argend = strlen(cmdline);
40 if (i+1 < argc)
42 cmdline = (char *)realloc(cmdline,
43 strlen(cmdline) + strlen(argv[i+1]) + 1);
44 *(cmdline + argend) = '\0'; // restore null terminator
48 memset(&si, 0, sizeof(si));
49 si.cb = sizeof(si);
51 if(!CreateProcess(NULL, cmdline, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
53 (void)fprintf(stderr, "CreateProcess failed\n");
54 exit(1);
57 WaitForSingleObject(pi.hProcess, INFINITE);
59 return 0;