Diff for /np2/macos9/macossub.cpp between versions 1.3 and 1.5

version 1.3, 2004/01/09 04:36:02 version 1.5, 2004/01/09 07:27:15
Line 75  static void char2str(char *dst, int size Line 75  static void char2str(char *dst, int size
   
 void *file_list1st(const char *dir, FLINFO *fli) {  void *file_list1st(const char *dir, FLINFO *fli) {
   
         void            *ret;          FLISTH          ret;
         Str255          fname;          Str255          fname;
         FSSpec          fss;          FSSpec          fss;
         FSRef           fsr;          FSRef           fsr;
Line 104  ff1_err1: Line 104  ff1_err1:
         return(NULL);          return(NULL);
 }  }
   
 BOOL file_listnext(void *hdl, FLINFO *fli) {  BOOL file_listnext(FLISTH hdl, FLINFO *fli) {
   
         FLHDL           flhdl;          FLHDL           flhdl;
         ItemCount       count;          ItemCount       count;
Line 130  BOOL file_listnext(void *hdl, FLINFO *fl Line 130  BOOL file_listnext(void *hdl, FLINFO *fl
         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 144  ffn_err: Line 145  ffn_err:
         return(FAILURE);          return(FAILURE);
 }  }
   
 void file_listclose(void *hdl) {  void file_listclose(FLISTH hdl) {
   
         if (hdl) {          if (hdl) {
                 FSCloseIterator(((FLHDL)hdl)->fsi);                  FSCloseIterator(((FLHDL)hdl)->fsi);
Line 152  void file_listclose(void *hdl) { Line 153  void file_listclose(void *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 161  typedef struct { Line 186  typedef struct {
         long            tagid;          long            tagid;
 } _FLHDL, *FLHDL;  } _FLHDL, *FLHDL;
   
 void *file_list1st(const char *dir, FLINFO *fli) {  FLISTH file_list1st(const char *dir, FLINFO *fli) {
   
         Str255  fname;          Str255  fname;
         FSSpec  fss;          FSSpec  fss;
Line 193  void *file_list1st(const char *dir, FLIN Line 218  void *file_list1st(const char *dir, FLIN
         }          }
         ret->eoff = FALSE;          ret->eoff = FALSE;
         ret->index = 1;          ret->index = 1;
         if (file_listnext((void *)ret, fli) == SUCCESS) {          if (file_listnext((FLISTH)ret, fli) == SUCCESS) {
                 return((void *)ret);                  return((FLISTH)ret);
         }          }
   
 ff1_err2:  ff1_err2:
Line 204  ff1_err1: Line 229  ff1_err1:
         return(NULL);          return(NULL);
 }  }
   
 BOOL file_listnext(void *hdl, FLINFO *fli) {  BOOL file_listnext(FLISTH hdl, FLINFO *fli) {
   
         FLHDL   flhdl;          FLHDL   flhdl;
         Str255  fname;          Str255  fname;
Line 225  BOOL file_listnext(void *hdl, FLINFO *fl Line 250  BOOL file_listnext(void *hdl, FLINFO *fl
         flhdl->index++;          flhdl->index++;
         if (fli) {          if (fli) {
                 mkcstr(fli->path, sizeof(fli->path), fname);                  mkcstr(fli->path, sizeof(fli->path), fname);
                 fli->size = 0;  
                 if (flhdl->pb.hFileInfo.ioFlAttrib & 0x10) {                  if (flhdl->pb.hFileInfo.ioFlAttrib & 0x10) {
                         fli->attr = FILEATTR_DIRECTORY;                          fli->attr = FILEATTR_DIRECTORY;
                           fli->size = 0;
                 }                  }
                 else {                  else {
                         fli->attr = FILEATTR_ARCHIVE;                          fli->attr = FILEATTR_ARCHIVE;
                           fli->size = flhdl->pb.hFileInfo.ioFlLgLen;
                 }                  }
         }          }
         return(SUCCESS);          return(SUCCESS);
Line 239  ffn_err: Line 265  ffn_err:
         return(FAILURE);          return(FAILURE);
 }  }
   
 void file_listclose(void *hdl) {  void file_listclose(FLISTH hdl) {
   
         if (hdl) {          if (hdl) {
                 _MFREE(hdl);                  _MFREE(hdl);
         }          }
 }  }
   
   bool getLongFileName(char* dst, const char* path) {
   
           return(false);
   }
 #endif  #endif
   

Removed from v.1.3  
changed lines
  Added in v.1.5


RetroPC.NET-CVS <cvs@retropc.net>