]> granicus.if.org Git - python/commitdiff
Fix some outdated comments (mostly by removing a large comment block
authorGuido van Rossum <guido@python.org>
Thu, 19 Feb 1998 21:00:45 +0000 (21:00 +0000)
committerGuido van Rossum <guido@python.org>
Thu, 19 Feb 1998 21:00:45 +0000 (21:00 +0000)
that was only causing confusing).  Add free(userpath) and
free(machinepath) statements to prevent some leaks.

PC/getpathp.c

index e769a93517edd087b4c051ca1daa6f3249bc602a..48912f505ac564dd4899b9c36d87998d2c329070 100644 (file)
@@ -49,25 +49,12 @@ extern BOOL PyWin_IsWin32s();
 #endif /* HAVE_UNISTD_H */
 
 /* Search in some common locations for the associated Python libraries.
- *
- * This version always returns "" for both prefix and exec_prefix.
  *
  * Py_GetPath() tries to return a sensible Python module search path.
  *
- * First, we look to see if the executable is in a subdirectory of
- * the Python build directory.  We calculate the full path of the
- * directory containing the executable as progpath.  We work backwards
- * along progpath and look for $dir/Modules/Setup.in, a distinctive
- * landmark.  If found, we use $dir/Lib as $root.  The returned
- * Python path is the compiled #define PYTHONPATH with all the initial
- * "./lib" replaced by $root.
- *
- * Otherwise, if there is a PYTHONPATH environment variable, we return that.
- *
- * Otherwise we try to find $progpath/lib/string.py, and if found, then
- * root is $progpath/lib, and we return Python path as compiled PYTHONPATH
- * with all "./lib" replaced by $root (as above).
- *
+ * The approach is an adaptation for Windows of the strategy used in
+ * ../Modules/getpath.c; it uses the Windows Registry as one of its
+ * information sources.
  */
 
 #ifndef LANDMARK
@@ -395,6 +382,12 @@ calculate_path()
                        fprintf(stderr, "Using environment $PYTHONPATH.\n");
                        module_search_path = PYTHONPATH;
                }
+#ifdef MS_WIN32
+               if (machinepath)
+                       free(machinepath);
+               if (userpath)
+                       free(userpath);
+#endif /* MS_WIN32 */
                return;
        }
 
@@ -408,11 +401,13 @@ calculate_path()
                strcpy(buf, machinepath);
                buf = strchr(buf, '\0');
                *buf++ = DELIM;
+               free(machinepath);
        }
        if (userpath) {
                strcpy(buf, userpath);
                buf = strchr(buf, '\0');
                *buf++ = DELIM;
+               free(userpath);
        }
 #endif
        if (pythonhome == NULL) {