Diff for /np2/macos9/dosio.cpp between versions 1.2 and 1.5

version 1.2, 2004/01/10 17:24:01 version 1.5, 2005/02/14 06:25:31
Line 229  short file_attr(const char *path) { Line 229  short file_attr(const char *path) {
         FSSpec                  fss;          FSSpec                  fss;
         FSRef                   fsr;          FSRef                   fsr;
         FSCatalogInfo   fsci;          FSCatalogInfo   fsci;
           short                   ret;
   
         mkstr255(fname, path);          mkstr255(fname, path);
         if ((FSMakeFSSpec(0, 0, fname, &fss) != noErr) ||          if ((FSMakeFSSpec(0, 0, fname, &fss) != noErr) ||
Line 237  short file_attr(const char *path) { Line 238  short file_attr(const char *path) {
                                                                                 NULL, NULL, NULL) != noErr)) {                                                                                  NULL, NULL, NULL) != noErr)) {
                 return(-1);                  return(-1);
         }          }
         else if (fsci.nodeFlags & kFSNodeIsDirectoryMask) {          if (fsci.nodeFlags & kFSNodeIsDirectoryMask) {
                 return(FILEATTR_DIRECTORY);                  ret = FILEATTR_DIRECTORY;
         }          }
         else {          else {
                 return(FILEATTR_ARCHIVE);                  ret = FILEATTR_ARCHIVE;
         }          }
           if (fsci.nodeFlags & kFSNodeLockedMask) {
                   ret |= FILEATTR_READONLY;
           }
           return(ret);
 #else  #else
         Str255          fname;          Str255          fname;
         FSSpec          fss;          FSSpec          fss;
         CInfoPBRec      pb;          CInfoPBRec      pb;
           short           ret;
   
         mkstr255(fname, path);          mkstr255(fname, path);
         FSMakeFSSpec(0, 0, fname, &fss);          FSMakeFSSpec(0, 0, fname, &fss);
Line 262  short file_attr(const char *path) { Line 268  short file_attr(const char *path) {
         if (PBGetCatInfo(&pb, false) != noErr) {          if (PBGetCatInfo(&pb, false) != noErr) {
                 return(-1);                  return(-1);
         }          }
         if (pb.hFileInfo.ioFlAttrib & 0x10) {          if (pb.hFileInfo.ioFlAttrib & ioDirMask) {
                 return(FILEATTR_DIRECTORY);                  ret = FILEATTR_DIRECTORY;
         }          }
         else {          else {
                 return(FILEATTR_ARCHIVE);                  ret = FILEATTR_ARCHIVE;
           }
           if (pb.hFileInfo.ioFlAttrib & 0x01) {
                   ret |= FILEATTR_READONLY;
         }          }
           return(ret);
 #endif  #endif
 }  }
   
Line 422  BOOL file_listnext(FLISTH hdl, FLINFO *f Line 432  BOOL file_listnext(FLISTH hdl, FLINFO *f
                         fli->size = (UINT32)flhdl->fsci.dataLogicalSize;                          fli->size = (UINT32)flhdl->fsci.dataLogicalSize;
                         dt = &flhdl->fsci.contentModDate;                          dt = &flhdl->fsci.contentModDate;
                 }                  }
                   if (flhdl->fsci.nodeFlags & kFSNodeLockedMask) {
                           fli->attr |= FILEATTR_READONLY;
                   }
                 cnvdatetime(dt, &fli->date, &fli->time);                  cnvdatetime(dt, &fli->date, &fli->time);
                 char2str(fli->path, sizeof(fli->path),                  char2str(fli->path, sizeof(fli->path),
                                                                 flhdl->name.unicode, flhdl->name.length);                                                                  flhdl->name.unicode, flhdl->name.length);
Line 538  BOOL file_listnext(FLISTH hdl, FLINFO *f Line 551  BOOL file_listnext(FLISTH hdl, FLINFO *f
         flhdl->index++;          flhdl->index++;
         if (fli) {          if (fli) {
                 fli->caps = FLICAPS_SIZE | FLICAPS_ATTR | FLICAPS_DATE | FLICAPS_TIME;                  fli->caps = FLICAPS_SIZE | FLICAPS_ATTR | FLICAPS_DATE | FLICAPS_TIME;
                 if (flhdl->pb.hFileInfo.ioFlAttrib & 0x10) {                  if (flhdl->pb.hFileInfo.ioFlAttrib & ioDirMask) {
                         fli->attr = FILEATTR_DIRECTORY;                          fli->attr = FILEATTR_DIRECTORY;
                         fli->size = 0;                          fli->size = 0;
                         dt = flhdl->pb.dirInfo.ioDrCrDat;                          dt = flhdl->pb.dirInfo.ioDrCrDat;
Line 548  BOOL file_listnext(FLISTH hdl, FLINFO *f Line 561  BOOL file_listnext(FLISTH hdl, FLINFO *f
                         fli->size = flhdl->pb.hFileInfo.ioFlLgLen;                          fli->size = flhdl->pb.hFileInfo.ioFlLgLen;
                         dt = flhdl->pb.hFileInfo.ioFlMdDat;                          dt = flhdl->pb.hFileInfo.ioFlMdDat;
                 }                  }
                   if (flhdl->pb.hFileInfo.ioFlAttrib & 0x01) {
                           fli->attr |= FILEATTR_READONLY;
                   }
                 cnvdatetime(dt, &fli->date, &fli->time);                  cnvdatetime(dt, &fli->date, &fli->time);
                 mkcstr(fli->path, sizeof(fli->path), fname);                  mkcstr(fli->path, sizeof(fli->path), fname);
         }          }
Line 596  void file_catname(char *path, const char Line 612  void file_catname(char *path, const char
         }          }
 }  }
   
 char *file_getname(char *path) {  char *file_getname(const char *path) {
   
         char    *ret;  const char      *ret;
   
         ret = path;          ret = path;
         while(*path != '\0') {          while(*path != '\0') {
Line 606  char *file_getname(char *path) { Line 622  char *file_getname(char *path) {
                         ret = path;                          ret = path;
                 }                  }
         }          }
         return(ret);          return((char *)ret);
 }  }
   
 void file_cutname(char *path) {  void file_cutname(char *path) {
Line 617  void file_cutname(char *path) { Line 633  void file_cutname(char *path) {
         p[0] = '\0';          p[0] = '\0';
 }  }
   
 char *file_getext(char *path) {  char *file_getext(const char *path) {
   
         char    *p;  const char      *p;
         char    *q;  const char      *q;
   
         p = file_getname(path);          p = file_getname(path);
         q = NULL;          q = NULL;
Line 633  char *file_getext(char *path) { Line 649  char *file_getext(char *path) {
         if (!q) {          if (!q) {
                 q = p;                  q = p;
         }          }
         return(q);          return((char *)q);
 }  }
   
 void file_cutext(char *path) {  void file_cutext(char *path) {

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


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