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

version 1.2, 2004/01/10 17:24:01 version 1.3, 2004/01/23 06:03:40
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 & kioFlAttribLockedMask) {
                   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 & kioFlAttribLockedMask) {
                           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);
         }          }

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


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