# HG changeset patch # User YAMAMOTO Mitsuharu # Date 1135392600 0 # Node ID 9574f135f272474aa4b26e9554c13411f878610b # Parent 7c9d6a4a35c7ab62b5a62fb609363a346eb60a6e [MAC_OS] (find_image_fsspec): Use coercion of Apple event data for translation from/to file names. diff -r 7c9d6a4a35c7 -r 9574f135f272 src/image.c --- a/src/image.c Sat Dec 24 01:35:53 2005 +0000 +++ b/src/image.c Sat Dec 24 02:50:00 2005 +0000 @@ -2259,23 +2259,25 @@ Lisp_Object specified_file, *file; FSSpec *fss; { -#if MAC_OSX - FSRef fsr; -#endif OSErr err; + AEDesc desc; *file = x_find_image_file (specified_file); if (!STRINGP (*file)) return fnfErr; /* file or directory not found; incomplete pathname */ /* Try to open the image file. */ -#if MAC_OSX - err = FSPathMakeRef (SDATA (*file), &fsr, NULL); + err = AECoercePtr (TYPE_FILE_NAME, SDATA (*file), + SBYTES (*file), typeFSS, &desc); if (err == noErr) - err = FSGetCatalogInfo (&fsr, kFSCatInfoNone, NULL, NULL, fss, NULL); + { +#if TARGET_API_MAC_CARBON + err = AEGetDescData (&desc, fss, sizeof (FSSpec)); #else - err = posix_pathname_to_fsspec (SDATA (*file), fss); + *fss = *(FSSpec *)(*(desc.dataHandle)); #endif + AEDisposeDesc (&desc); + } return err; }