From 60fafa276cefc677839927a0647c8bda3703be0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristj=C3=A1n=20Valur=20J=C3=B3nsson?= Date: Mon, 22 Nov 2010 11:37:06 +0000 Subject: issue 10501 make_buildinfo regression with unquoted path Make_buildinfo.exe should be called with a quoted path, and should quote the full paths to its temp files, to support spaces in filenames. --- PCbuild/make_buildinfo.c | 16 +++++++++------- PCbuild/pythoncore.vcproj | 32 ++++++++++++++++---------------- 2 files changed, 25 insertions(+), 23 deletions(-) diff --git a/PCbuild/make_buildinfo.c b/PCbuild/make_buildinfo.c index a41aac5..94ca8c0 100644 --- a/PCbuild/make_buildinfo.c +++ b/PCbuild/make_buildinfo.c @@ -52,9 +52,9 @@ int make_buildinfo2(const char *tmppath) if (_stat(command+1, &st) < 0) /* subwcrev.exe not part of the release */ return 0; - strcat_s(command, CMD_SIZE, "\" .. ..\\Modules\\getbuildinfo.c "); - strcat_s(command, CMD_SIZE, tmppath); - strcat_s(command, CMD_SIZE, "getbuildinfo2.c"); + strcat_s(command, CMD_SIZE, "\" .. ..\\Modules\\getbuildinfo.c \""); + strcat_s(command, CMD_SIZE, tmppath); /* quoted tmppath */ + strcat_s(command, CMD_SIZE, "getbuildinfo2.c\""); puts(command); fflush(stdout); if (system(command) < 0) return 0; @@ -95,19 +95,21 @@ int main(int argc, char*argv[]) } if ((do_unlink = make_buildinfo2(tmppath))) { + strcat_s(command, CMD_SIZE, "\""); strcat_s(command, CMD_SIZE, tmppath); - strcat_s(command, CMD_SIZE, "getbuildinfo2.c -DSUBWCREV "); + strcat_s(command, CMD_SIZE, "getbuildinfo2.c\" -DSUBWCREV "); } else strcat_s(command, CMD_SIZE, "..\\Modules\\getbuildinfo.c"); - strcat_s(command, CMD_SIZE, " -Fo"); + strcat_s(command, CMD_SIZE, " -Fo\""); strcat_s(command, CMD_SIZE, tmppath); - strcat_s(command, CMD_SIZE, "getbuildinfo.o -I..\\Include -I..\\PC"); + strcat_s(command, CMD_SIZE, "getbuildinfo.o\" -I..\\Include -I..\\PC"); puts(command); fflush(stdout); result = system(command); if (do_unlink) { command[0] = '\0'; + strcat_s(command, CMD_SIZE, "\""); strcat_s(command, CMD_SIZE, tmppath); - strcat_s(command, CMD_SIZE, "getbuildinfo2.c"); + strcat_s(command, CMD_SIZE, "getbuildinfo2.c\""); _unlink(command); } if (result < 0) diff --git a/PCbuild/pythoncore.vcproj b/PCbuild/pythoncore.vcproj index f5d12a3..c0ffae5 100644 --- a/PCbuild/pythoncore.vcproj +++ b/PCbuild/pythoncore.vcproj @@ -59,11 +59,11 @@