summaryrefslogtreecommitdiffstats
path: root/Mac
diff options
context:
space:
mode:
authorJack Jansen <jack.jansen@cwi.nl>2000-07-18 09:40:39 (GMT)
committerJack Jansen <jack.jansen@cwi.nl>2000-07-18 09:40:39 (GMT)
commit660bb1d1c792f419a60f779c41d9d39d0dfe2b20 (patch)
treeb52ab129553b2e3b0eec48a091828c70b7bdaaaf /Mac
parent574c0e22a56ef1b4b61f99088a38aa3fe9fbc840 (diff)
downloadcpython-660bb1d1c792f419a60f779c41d9d39d0dfe2b20.zip
cpython-660bb1d1c792f419a60f779c41d9d39d0dfe2b20.tar.gz
cpython-660bb1d1c792f419a60f779c41d9d39d0dfe2b20.tar.bz2
MacPython on MacOSX DP4 gets started in the wrong directory. The workaround (ifdeffed by USE_ARGV0_CHDIR) is to do a chdir() to the folder part of our executable name.
Diffstat (limited to 'Mac')
-rw-r--r--Mac/Python/macmain.c17
-rw-r--r--Mac/mwerks/mwerks_carbon_config.h1
2 files changed, 17 insertions, 1 deletions
diff --git a/Mac/Python/macmain.c b/Mac/Python/macmain.c
index d40a70e..20dd4cb 100644
--- a/Mac/Python/macmain.c
+++ b/Mac/Python/macmain.c
@@ -256,7 +256,22 @@ init_common(int *argcp, char ***argvp, int embedded)
} else {
/* Create argc/argv. Do it before we go into the options event loop. */
*argcp = PyMac_GetArgv(argvp, options.noargs);
-
+#ifdef USE_ARGV0_CHDIR
+ printf("argc=%d, argv[0]=%x=%s\n", *argcp, (*argvp)[0], (*argvp)[0]);
+ if (*argcp >= 1 && (*argvp)[0] && (*argvp)[0][0]) {
+ /* Workaround for MacOS X, which currently (DP4) doesn't set
+ ** the working folder correctly
+ */
+ char app_wd[256], *p;
+
+ strncpy(app_wd, (*argvp)[0], 256);
+ printf("Modifying dir, argv[0]=%s\n", (*argvp)[0]);
+ p = strrchr(app_wd, ':');
+ if ( p ) *p = 0;
+ printf("app_wd=%s\n", app_wd);
+ chdir(app_wd);
+ }
+#endif
/* Do interactive option setting, if allowed and <option> depressed */
PyMac_InteractiveOptions(&options, argcp, argvp);
}
diff --git a/Mac/mwerks/mwerks_carbon_config.h b/Mac/mwerks/mwerks_carbon_config.h
index e96de720..b39467e 100644
--- a/Mac/mwerks/mwerks_carbon_config.h
+++ b/Mac/mwerks/mwerks_carbon_config.h
@@ -9,6 +9,7 @@
#define TARGET_API_MAC_CARBON 1
#define TARGET_API_MAC_CARBON_NOTYET 1 /* Things we should do eventually, but not now */
+#define USE_ARGV0_CHDIR /* Workaround for OSXDP4: change dir to argv[0] dir */
/* #define USE_GUSI2 /* Stdio implemented with GUSI 2 */
/* # define USE_GUSI1 /* Stdio implemented with GUSI 1 */
#define USE_MSL /* Use Mw Standard Library (as opposed to Plaugher C libraries) */