{
if (mode == 1 /*X_OK*/) {
#if 1
- /* This code is not supported by Windows 98,
+ /* This code is not supported by Windows 98,
* but we don't support it anymore */
DWORD type;
#else
SHFILEINFO sfi;
- return access(pathname, 0) == 0 &&
+ return access(pathname, 0) == 0 &&
SHGetFileInfo(pathname, 0, &sfi, sizeof(SHFILEINFO), SHGFI_EXETYPE) != 0 ? 0 : -1;
#endif
} else {
{
process_pair *ptr;
process_pair *newptr;
-
+
for (ptr = TWG(process); ptr < (TWG(process) + TWG(process_size)); ptr++) {
if (ptr->stream == stream) {
break;
}
}
-
+
if (ptr < (TWG(process) + TWG(process_size))) {
return ptr;
}
-
+
newptr = (process_pair*)realloc((void*)TWG(process), (TWG(process_size)+1)*sizeof(process_pair));
if (newptr == NULL) {
return NULL;
}
-
+
TWG(process) = newptr;
ptr = newptr + TWG(process_size);
TWG(process_size)++;
shm_pair *ptr;
shm_pair *newptr;
TSRMLS_FETCH();
-
+
for (ptr = TWG(shm); ptr < (TWG(shm) + TWG(shm_size)); ptr++) {
if (!ptr->descriptor) {
continue;
if (ptr < (TWG(shm) + TWG(shm_size))) {
return ptr;
}
-
+
newptr = (shm_pair*)realloc((void*)TWG(shm), (TWG(shm_size)+1)*sizeof(shm_pair));
if (newptr == NULL) {
return NULL;
}
-
+
TWG(shm) = newptr;
ptr = newptr + TWG(shm_size);
TWG(shm_size)++;
if (!str_len || !CreatePipe(&in, &out, &security, 2048L)) {
return NULL;
}
-
+
memset(&startup, 0, sizeof(STARTUPINFO));
memset(&process, 0, sizeof(PROCESS_INFORMATION));
startup.hStdOutput = GetStdHandle(STD_OUTPUT_HANDLE);
}
- cmd = (char*)malloc(strlen(command)+strlen(TWG(comspec))+sizeof(" /c "));
- sprintf(cmd, "%s /c %s", TWG(comspec), command);
+ cmd = (char*)malloc(strlen(command)+strlen(TWG(comspec))+sizeof(" /c ")+2);
+ sprintf(cmd, "%s /c \"%s\"", TWG(comspec), command);
if (!CreateProcess(NULL, cmd, &security, &security, security.bInheritHandle, NORMAL_PRIORITY_CLASS|CREATE_NO_WINDOW, env, cwd, &startup, &process)) {
return NULL;
}