summaryrefslogtreecommitdiffstats
path: root/PC/bdist_wininst
diff options
context:
space:
mode:
authorThomas Heller <theller@ctypes.org>2004-12-22 17:24:14 (GMT)
committerThomas Heller <theller@ctypes.org>2004-12-22 17:24:14 (GMT)
commit0f25b7222844c275ac3a12bee184884531bbaa15 (patch)
tree1dba1be472865c15755448a5f1296e17f1a81179 /PC/bdist_wininst
parentb300ae3a79624867cad30fddfb3350f9c731f21c (diff)
downloadcpython-0f25b7222844c275ac3a12bee184884531bbaa15.zip
cpython-0f25b7222844c275ac3a12bee184884531bbaa15.tar.gz
cpython-0f25b7222844c275ac3a12bee184884531bbaa15.tar.bz2
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.
Diffstat (limited to 'PC/bdist_wininst')
-rw-r--r--PC/bdist_wininst/install.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/PC/bdist_wininst/install.c b/PC/bdist_wininst/install.c
index be4be37..e6e6731 100644
--- a/PC/bdist_wininst/install.c
+++ b/PC/bdist_wininst/install.c
@@ -611,8 +611,8 @@ PyMethodDef meth[] = {
static HINSTANCE LoadPythonDll(char *fname)
{
char fullpath[_MAX_PATH];
- char subkey_name[80];
LONG size = sizeof(fullpath);
+ char subkey_name[80];
HINSTANCE h = LoadLibrary(fname);
if (h)
return h;
@@ -760,7 +760,9 @@ static int run_simple_script(char *script)
rc = do_run_simple_script(hPython, script);
FreeLibrary(hPython);
fflush(stderr);
+ fclose(stderr);
fflush(stdout);
+ fclose(stdout);
/* We only care about the output when we fail. If the script works
OK, then we discard it
*/
@@ -1951,7 +1953,9 @@ FinishedDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
fprintf(stderr, "*** Could not load Python ***");
}
fflush(stderr);
+ fclose(stderr);
fflush(stdout);
+ fclose(stdout);
fp = fopen(tempname, "rb");
n = fread(buffer, 1, sizeof(buffer), fp);
@@ -2299,7 +2303,9 @@ BOOL Run_RemoveScript(char *line)
}
fflush(stderr);
+ fclose(stderr);
fflush(stdout);
+ fclose(stdout);
fp = fopen(tempname, "rb");
n = fread(buffer, 1, sizeof(buffer), fp);