diff options
author | Jack Jansen <jack.jansen@cwi.nl> | 2001-09-10 22:00:39 +0000 |
---|---|---|
committer | Jack Jansen <jack.jansen@cwi.nl> | 2001-09-10 22:00:39 +0000 |
commit | 697842f58cfa15e86e92fa1c2733d7d9908a340e (patch) | |
tree | 7f5045964d5946de3f348459fb485a2463eddb69 /Mac/Modules/macosmodule.c | |
parent | b0e8e9b72fb6eb42ecd4d9ea9e88563d1ca4528a (diff) | |
download | cpython-git-697842f58cfa15e86e92fa1c2733d7d9908a340e.tar.gz |
Replaced PyMac_FullPath by PyMac_FullPathname, which has an extra 'length'
parameter for the return string (as unix pathnames are not limited
by the 255 char pstring limit).
Implemented the function for MachO-Python, where it returns unix pathnames.
Diffstat (limited to 'Mac/Modules/macosmodule.c')
-rw-r--r-- | Mac/Modules/macosmodule.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/Mac/Modules/macosmodule.c b/Mac/Modules/macosmodule.c index 0b8d8561b1..6b8b87def3 100644 --- a/Mac/Modules/macosmodule.c +++ b/Mac/Modules/macosmodule.c @@ -40,6 +40,12 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. static PyObject *MacOS_Error; /* Exception MacOS.Error */ +#ifdef TARGET_API_MAC_OSX +#define PATHNAMELEN 1024 +#else +#define PATHNAMELEN 256 +#endif + #ifdef MPW #define bufferIsSmall -607 /*error returns from Post and Accept */ #endif @@ -596,15 +602,14 @@ MacOS_openrf(PyObject *self, PyObject *args) err = HOpenRF(fss.vRefNum, fss.parID, fss.name, permission, &fp->fRefNum); -#if !TARGET_API_MAC_OSX if ( err == fnfErr ) { /* In stead of doing complicated things here to get creator/type ** correct we let the standard i/o library handle it */ FILE *tfp; - char pathname[257]; + char pathname[PATHNAMELEN]; - if ( err=PyMac_GetFullPath(&fss, pathname) ) { + if ( err=PyMac_GetFullPathname(&fss, pathname, PATHNAMELEN) ) { PyMac_Error(err); Py_DECREF(fp); return NULL; @@ -618,7 +623,6 @@ MacOS_openrf(PyObject *self, PyObject *args) fclose(tfp); err = HOpenRF(fss.vRefNum, fss.parID, fss.name, permission, &fp->fRefNum); } -#endif if ( err ) { Py_DECREF(fp); PyMac_Error(err); |