|
|
| version 1.4, 2004/01/09 05:07:03 | version 1.5, 2004/01/09 07:27:15 |
|---|---|
| Line 130 BOOL file_listnext(FLISTH hdl, FLINFO *f | Line 130 BOOL file_listnext(FLISTH hdl, FLINFO *f |
| if (fli) { | if (fli) { |
| char2str(fli->path, sizeof(fli->path), | char2str(fli->path, sizeof(fli->path), |
| flhdl->name.unicode, flhdl->name.length); | flhdl->name.unicode, flhdl->name.length); |
| fli->size = (UINT32)flhdl->fsci.dataLogicalSize; | |
| if (flhdl->fsci.nodeFlags & kFSNodeIsDirectoryMask) { | if (flhdl->fsci.nodeFlags & kFSNodeIsDirectoryMask) { |
| fli->attr = FILEATTR_DIRECTORY; | fli->attr = FILEATTR_DIRECTORY; |
| fli->size = 0; | |
| } | } |
| else { | else { |
| fli->attr = FILEATTR_ARCHIVE; | fli->attr = FILEATTR_ARCHIVE; |
| fli->size = (UINT32)flhdl->fsci.dataLogicalSize; | |
| } | } |
| } | } |
| return(SUCCESS); | return(SUCCESS); |
| Line 152 void file_listclose(FLISTH hdl) { | Line 153 void file_listclose(FLISTH hdl) { |
| } | } |
| } | } |
| bool getLongFileName(char* dst, const char* path) { | |
| FSSpec fss; | |
| Str255 fname; | |
| FSRef fref; | |
| HFSUniStr255 name; | |
| if (*path == '\0') { | |
| return(false); | |
| } | |
| mkstr255(fname, path); | |
| FSMakeFSSpec(0, 0, fname, &fss); | |
| FSpMakeFSRef(&fss, &fref); | |
| if (FSGetCatalogInfo(&fref, kFSCatInfoNone, NULL, &name, NULL, NULL) | |
| != noErr) { | |
| return(false); | |
| } | |
| char2str(dst, 512, name.unicode, name.length); | |
| if (!dst) { | |
| return(false); | |
| } | |
| return(true); | |
| } | |
| #else | #else |
| typedef struct { | typedef struct { |
| Line 247 void file_listclose(FLISTH hdl) { | Line 272 void file_listclose(FLISTH hdl) { |
| } | } |
| } | } |
| bool getLongFileName(char* dst, const char* path) { | |
| return(false); | |
| } | |
| #endif | #endif |