Close stdout and stderr, which are redirected into a temp file, before

trying to remove this file - the file was never removed before.

Fixes [ 1067732 ] wininst --install-script leaves residual files

Already backported.
This commit is contained in:
Thomas Heller 2004-12-22 17:24:14 +00:00
parent b300ae3a79
commit 0f25b72228
1 changed files with 7 additions and 1 deletions

View File

@ -611,8 +611,8 @@ PyMethodDef meth[] = {
static HINSTANCE LoadPythonDll(char *fname) static HINSTANCE LoadPythonDll(char *fname)
{ {
char fullpath[_MAX_PATH]; char fullpath[_MAX_PATH];
char subkey_name[80];
LONG size = sizeof(fullpath); LONG size = sizeof(fullpath);
char subkey_name[80];
HINSTANCE h = LoadLibrary(fname); HINSTANCE h = LoadLibrary(fname);
if (h) if (h)
return h; return h;
@ -760,7 +760,9 @@ static int run_simple_script(char *script)
rc = do_run_simple_script(hPython, script); rc = do_run_simple_script(hPython, script);
FreeLibrary(hPython); FreeLibrary(hPython);
fflush(stderr); fflush(stderr);
fclose(stderr);
fflush(stdout); fflush(stdout);
fclose(stdout);
/* We only care about the output when we fail. If the script works /* We only care about the output when we fail. If the script works
OK, then we discard it OK, then we discard it
*/ */
@ -1951,7 +1953,9 @@ FinishedDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
fprintf(stderr, "*** Could not load Python ***"); fprintf(stderr, "*** Could not load Python ***");
} }
fflush(stderr); fflush(stderr);
fclose(stderr);
fflush(stdout); fflush(stdout);
fclose(stdout);
fp = fopen(tempname, "rb"); fp = fopen(tempname, "rb");
n = fread(buffer, 1, sizeof(buffer), fp); n = fread(buffer, 1, sizeof(buffer), fp);
@ -2299,7 +2303,9 @@ BOOL Run_RemoveScript(char *line)
} }
fflush(stderr); fflush(stderr);
fclose(stderr);
fflush(stdout); fflush(stdout);
fclose(stdout);
fp = fopen(tempname, "rb"); fp = fopen(tempname, "rb");
n = fread(buffer, 1, sizeof(buffer), fp); n = fread(buffer, 1, sizeof(buffer), fp);