]> granicus.if.org Git - python/commitdiff
bpo-32030: Fix calculate_path() on macOS (#4526)
authorVictor Stinner <victor.stinner@gmail.com>
Thu, 23 Nov 2017 18:02:04 +0000 (19:02 +0100)
committerGitHub <noreply@github.com>
Thu, 23 Nov 2017 18:02:04 +0000 (19:02 +0100)
Modules/getpath.c

index d8125ae2cac8eb25a0d4b49bb523d0187b4ab8fa..48bdd0f21daca770613070cb4568304c135defb0 100644 (file)
@@ -589,6 +589,15 @@ calculate_reduce_exec_prefix(PyCalculatePath *calculate, PyPathConfig *config)
 static void
 calculate_progpath(PyCalculatePath *calculate, PyPathConfig *config)
 {
+#ifdef __APPLE__
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
+    uint32_t nsexeclength = MAXPATHLEN;
+#else
+    unsigned long nsexeclength = MAXPATHLEN;
+#endif
+    char execpath[MAXPATHLEN+1];
+#endif
+
     /* If there is no slash in the argv0 path, then we have to
      * assume python is on the user's $PATH, since there's no
      * other way to find a directory to start the search from.  If
@@ -597,15 +606,7 @@ calculate_progpath(PyCalculatePath *calculate, PyPathConfig *config)
     if (wcschr(calculate->prog, SEP)) {
         wcsncpy(config->progpath, calculate->prog, MAXPATHLEN);
     }
-
 #ifdef __APPLE__
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
-    uint32_t nsexeclength = MAXPATHLEN;
-#else
-    unsigned long nsexeclength = MAXPATHLEN;
-#endif
-    char execpath[MAXPATHLEN+1];
-
      /* On Mac OS X, if a script uses an interpreter of the form
       * "#!/opt/python2.3/bin/python", the kernel only passes "python"
       * as argv[0], which falls through to the $PATH search below.