-#ifdef MAC_OSX
- AECoerceDesc(&reply.selection, typeFSRef, &aed);
- AEGetDescData(&aed, (void *) &fsRef, sizeof (FSRef));
- FSRefMakePath(&fsRef, (UInt8 *) filename, sizeof (filename));
-#else
- AECoerceDesc (&reply.selection, typeFSS, &aed);
- AEGetDescData (&aed, (void *) &fs, sizeof (FSSpec));
- fsspec_to_posix_pathname (&fs, filename, sizeof (filename) - 1);
-#endif
- AEDisposeDesc(&aed);
- if (reply.saveFileName)
+ status = NavDialogGetReply(dialogRef, &reply);
+ if (status != noErr)
+ break;
+ status = AEGetNthPtr (&reply.selection, 1, TYPE_FILE_NAME,
+ NULL, NULL, filename,
+ sizeof (filename) - 1, &len);
+ if (status == noErr)