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

version 1.2, 2004/01/11 16:58:47 version 1.5, 2005/05/20 17:25:03
Line 170  short file_getdatetime(FILEH handle, DOS Line 170  short file_getdatetime(FILEH handle, DOS
   
         FSRef                   ref;          FSRef                   ref;
         FSCatalogInfo   fsci;          FSCatalogInfo   fsci;
         LocalDateTime   ldt;  
         DateTimeRec             dtr;  
   
         ZeroMemory(&dtr, sizeof(dtr));  
         if ((FSGetForkCBInfo(handle, 0, NULL, NULL, NULL, &ref, NULL) != noErr) ||          if ((FSGetForkCBInfo(handle, 0, NULL, NULL, NULL, &ref, NULL) != noErr) ||
                 (FSGetCatalogInfo(&ref, kFSCatInfoContentMod, &fsci, NULL, NULL, NULL)                  (FSGetCatalogInfo(&ref, kFSCatInfoContentMod, &fsci, NULL, NULL, NULL)
                                                                                                                                 != noErr)) {                                                                                                                                  != noErr)) {
                 return(-1);                  return(-1);
         }          }
         ConvertUTCToLocalDateTime(&fsci.contentModDate, &ldt);          cnvdatetime(&fsci.contentModDate, dosdate, dostime);
         SecondsToDate(ldt.lowSeconds, &dtr);  
         if (dosdate) {  
                 dosdate->year = dtr.year;  
                 dosdate->month = (BYTE)dtr.month;  
                 dosdate->day = (BYTE)dtr.day;  
         }  
         if (dostime) {  
                 dostime->hour = (BYTE)dtr.hour;  
                 dostime->minute = (BYTE)dtr.minute;  
                 dostime->second = (BYTE)dtr.second;  
         }  
         return(0);          return(0);
 #else  #else
         (void)handle;          (void)handle;
Line 213  short file_delete(const char *path) { Line 199  short file_delete(const char *path) {
   
 short file_attr(const char *path) {  short file_attr(const char *path) {
   
 #ifdef TARGET_API_MAC_CARBON  
         Str255                  fname;          Str255                  fname;
         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 226  short file_attr(const char *path) { Line 212  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;
         }          }
 #else          if (fsci.nodeFlags & kFSNodeLockedMask) {
         Str255          fname;                  ret |= FILEATTR_READONLY;
         FSSpec          fss;  
         CInfoPBRec      pb;  
   
         mkstr255(fname, path);  
         FSMakeFSSpec(0, 0, fname, &fss);  
         pb.dirInfo.ioNamePtr = fss.name;  
         pb.dirInfo.ioVRefNum = fss.vRefNum;  
         pb.dirInfo.ioDrDirID = fss.parID;  
         if (fss.name[0] == 0) {  
                 pb.dirInfo.ioFDirIndex = -1;  
         }  
         else {  
                 pb.dirInfo.ioFDirIndex = 0;  
         }          }
         if (PBGetCatInfo(&pb, false) != noErr) {          return(ret);
                 return(-1);  
         }  
         if (pb.hFileInfo.ioFlAttrib & 0x10) {  
                 return(FILEATTR_DIRECTORY);  
         }  
         else {  
                 return(FILEATTR_ARCHIVE);  
         }  
 #endif  
 }  }
   
 short file_dircreate(const char *path) {  short file_dircreate(const char *path) {
Line 474  void file_catname(char *path, const char Line 438  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 484  char *file_getname(char *path) { Line 448  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 495  void file_cutname(char *path) { Line 459  void file_cutname(char *path) {
         p[0] = '\0';          p[0] = '\0';
 }  }
   
 char *file_getext(char *path) {  char *file_getext(const char *path) {
   
         char    *p;          char    *p;
         char    *q;          char    *q;

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


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