diff options
-rw-r--r-- | Mac/Python/macmain.c | 17 | ||||
-rw-r--r-- | Mac/mwerks/mwerks_carbon_config.h | 1 |
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) */ |