- revert fix for #43327, it breaks system&co functions

This commit is contained in:
Pierre Joye 2009-08-20 09:03:19 +00:00
parent 897083659e
commit 05f86b6edb
2 changed files with 6 additions and 3 deletions

2
NEWS
View file

@ -142,8 +142,6 @@ PHP NEWS
- Fixed bug #45554 (Inconsistent behavior of the u format char). (Derick)
- Fixed bug #43510 (stream_get_meta_data() does not return same mode as used
in fopen). (Jani)
- Fixed #43327, wrong return value from mail(), if sendmail_path is wrong.
(Garrett)
- Fixed bug #42434 (ImageLine w/ antialias = 1px shorter). (wojjie at gmail dot
com, Kalle)
- Fixed bug #38091 (Mail() does not use FQDN when sending SMTP helo).

View file

@ -312,6 +312,7 @@ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd,
HANDLE in, out;
DWORD dwCreateFlags = 0;
process_pair *proc;
char *cmd;
TSRMLS_FETCH();
security.nLength = sizeof(SECURITY_ATTRIBUTES);
@ -347,9 +348,13 @@ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd,
dwCreateFlags |= CREATE_NO_WINDOW;
}
if (!CreateProcess(NULL, command, &security, &security, security.bInheritHandle, dwCreateFlags, env, cwd, &startup, &process)) {
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, dwCreateFlags, env, cwd, &startup, &process)) {
return NULL;
}
free(cmd);
CloseHandle(process.hThread);
proc = process_get(NULL TSRMLS_CC);