#include <precomp.h>
#include <stdlib.h>
#include <string.h>
#include <process.h>
Go to the source code of this file.
◆ _wsystem()
Definition at line 98 of file _system.c.
99{
101 wchar_t *comspec =
NULL;
107
109
110
112 {
113 return (comspec ==
NULL) ? 0 : 1;
114 }
115
117 {
120 comspec = cmd_exe;
121 }
122
125 {
127 return -1;
128 }
129
134
135
136
137 memset(&startup_info, 0,
sizeof(startup_info));
138 startup_info.
cb =
sizeof(startup_info);
141
142
143
144
145
146
147
156 &startup_info,
157 &process_info);
159
161 {
163 return -1;
164 }
165
167
168
170
172
175}
DWORD WINAPI GetFileAttributesW(LPCWSTR lpFileName)
UINT WINAPI GetSystemDirectoryW(OUT LPWSTR lpBuffer, IN UINT uSize)
BOOL WINAPI DECLSPEC_HOTPATCH CreateProcessW(LPCWSTR lpApplicationName, LPWSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation)
_Check_return_ _CRTIMP wchar_t *__cdecl _wgetenv(_In_z_ const wchar_t *_VarName)
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
void _dosmaperr(unsigned long oserrcode)
errno_t __cdecl _set_errno(_In_ int _Value)
_CRTIMP intptr_t __cdecl _cwait(_Out_opt_ int *_TermStat, _In_ intptr_t _ProcHandle, _In_ int _Action)
#define INVALID_FILE_ATTRIBUTES
DWORD WINAPI GetLastError(void)
#define STARTF_USESHOWWINDOW
#define CREATE_NEW_PROCESS_GROUP
◆ system()
Definition at line 20 of file _system.c.
21{
22 char *szCmdLine =
NULL;
23 char *szComSpec =
NULL;
29
30 szComSpec =
getenv(
"COMSPEC");
31
32
33
35 return (szComSpec ==
NULL) ? 0 : 1;
36 }
37
39 {
41 strcat(cmd_exe,
"\\cmd.exe");
42 szComSpec = cmd_exe;
43 }
44
46 if (szCmdLine ==
NULL)
47 {
49 return -1;
50 }
51
53 strcat(szCmdLine, szComSpec);
54 strcat(szCmdLine,
"\" /C ");
56
57
58
59 memset(&StartupInfo, 0,
sizeof(StartupInfo));
60 StartupInfo.
cb =
sizeof(StartupInfo);
63
64
65
66
67
68
70 szCmdLine,
77 &StartupInfo,
78 &ProcessInformation);
80
82 {
84 return -1;
85 }
86
88
89
91
93
96}
ACPI_SIZE strlen(const char *String)
DWORD WINAPI GetFileAttributesA(LPCSTR lpFileName)
UINT WINAPI GetSystemDirectoryA(OUT LPSTR lpBuffer, IN UINT uSize)
BOOL WINAPI DECLSPEC_HOTPATCH CreateProcessA(LPCSTR lpApplicationName, LPSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCSTR lpCurrentDirectory, LPSTARTUPINFOA lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation)
_Check_return_ char *__cdecl getenv(_In_z_ const char *_VarName)