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

version 1.2, 2003/11/21 06:51:15 version 1.5, 2004/06/14 13:35:40
Line 162  UINT file_getsize(FILEH handle) { Line 162  UINT file_getsize(FILEH handle) {
         return(GetFileSize(handle, NULL));          return(GetFileSize(handle, NULL));
 }  }
   
 short file_getdatetime(FILEH handle, DOSDATE *dosdate, DOSTIME *dostime) {  static BOOL cnvdatetime(FILETIME *file, DOSDATE *dosdate, DOSTIME *dostime) {
   
         FILETIME        lastwrite;          FILETIME        localtime;
         FILETIME        localwrite;          SYSTEMTIME      systime;
         SYSTEMTIME      syswrite;  
   
         if ((GetFileTime(handle, NULL, NULL, &lastwrite) == 0) ||          if ((FileTimeToLocalFileTime(file, &localtime) == 0) ||
                 (FileTimeToLocalFileTime(&lastwrite, &localwrite) == 0) ||                  (FileTimeToSystemTime(&localtime, &systime) == 0)) {
                 (FileTimeToSystemTime(&localwrite, &syswrite) == 0)) {                  return(FAILURE);
                 return(-1);  
         }          }
         if (dosdate) {          if (dosdate) {
                 dosdate->year = (WORD)syswrite.wYear;                  dosdate->year = (UINT16)systime.wYear;
                 dosdate->month = (BYTE)syswrite.wMonth;                  dosdate->month = (UINT8)systime.wMonth;
                 dosdate->day = (BYTE)syswrite.wDay;                  dosdate->day = (UINT8)systime.wDay;
         }          }
         if (dostime) {          if (dostime) {
                 dostime->hour = (BYTE)syswrite.wHour;                  dostime->hour = (UINT8)systime.wHour;
                 dostime->minute = (BYTE)syswrite.wMinute;                  dostime->minute = (UINT8)systime.wMinute;
                 dostime->second = (BYTE)syswrite.wSecond;                  dostime->second = (UINT8)systime.wSecond;
           }
           return(SUCCESS);
   }
   
   short file_getdatetime(FILEH handle, DOSDATE *dosdate, DOSTIME *dostime) {
   
           FILETIME        lastwrite;
   
           if ((GetFileTime(handle, NULL, NULL, &lastwrite) == 0) ||
                   (cnvdatetime(&lastwrite, dosdate, dostime) != SUCCESS)) {
                   return(-1);
         }          }
         return(0);          return(0);
 }  }
Line 253  short file_attr_c(const char *path) { Line 262  short file_attr_c(const char *path) {
 }  }
   
   
 FILEFINDH file_find1st(const char *dir, FILEFINDT *fft) {  static BOOL setflist(WIN32_FIND_DATA *w32fd, FLINFO *fli) {
   
   #if defined(UNICODE)
           WideCharToMultiByte(CP_ACP, 0, w32fd->cFileName, -1,
                                                                   fli->path, sizeof(fli->path), NULL, NULL);
   #else
           milstr_ncpy(fli->path, w32fd->cFileName, sizeof(fli->path));
   #endif
   #if !defined(_WIN32_WCE)
           if ((w32fd->dwFileAttributes & FILEATTR_DIRECTORY) &&
                   ((!file_cmpname(fli->path, ".")) ||
                   (!file_cmpname(fli->path, "..")))) {
                   return(FAILURE);
           }
   #endif
           fli->caps = FLICAPS_SIZE | FLICAPS_ATTR | FLICAPS_DATE | FLICAPS_TIME;
           fli->size = w32fd->nFileSizeLow;
           fli->attr = w32fd->dwFileAttributes;
           cnvdatetime(&w32fd->ftLastWriteTime, &fli->date, &fli->time);
           return(SUCCESS);
   }
   
   FLISTH file_list1st(const char *dir, FLINFO *fli) {
   
         char                    path[MAX_PATH];          char                    path[MAX_PATH];
         HANDLE                  hdl;          HANDLE                  hdl;
         WIN32_FIND_DATA w32fd;          WIN32_FIND_DATA w32fd;
   
         file_cpyname(path, dir, sizeof(path));          milsjis_ncpy(path, dir, sizeof(path));
         file_setseparator(path, sizeof(path));          file_setseparator(path, sizeof(path));
         file_catname(path, "*.*", sizeof(path));          milsjis_ncat(path, "*.*", sizeof(path));
           TRACEOUT(("file_list1st %s", path));
         hdl = FindFirstFile_A(path, &w32fd);          hdl = FindFirstFile_A(path, &w32fd);
         if (hdl == INVALID_HANDLE_VALUE) {          if (hdl != INVALID_HANDLE_VALUE) {
                 return(FILEFINDH_INVALID);                  do {
         }                          if (setflist(&w32fd, fli) == SUCCESS) {
         if (fft) {                                  return(hdl);
 #if defined(UNICODE)                          }
                 WideCharToMultiByte(CP_ACP, 0, w32fd.cFileName, -1,                  } while(FindNextFile(hdl, &w32fd));
                                                                 fft->path, sizeof(fft->path), NULL, NULL);                  FindClose(hdl);
 #else  
                 milstr_ncpy(fft->path, w32fd.cFileName, sizeof(fft->path));  
 #endif  
                 fft->size = w32fd.nFileSizeLow;  
                 fft->attr = w32fd.dwFileAttributes;  
         }          }
         return(hdl);          return(FLISTH_INVALID);
 }  }
   
 BOOL file_findnext(FILEFINDH hdl, FILEFINDT *fft) {  BOOL file_listnext(FLISTH hdl, FLINFO *fli) {
   
         WIN32_FIND_DATA w32fd;          WIN32_FIND_DATA w32fd;
   
         if (!FindNextFile(hdl, &w32fd)) {          while(FindNextFile(hdl, &w32fd)) {
                 return(FAILURE);                  if (setflist(&w32fd, fli) == SUCCESS) {
         }                          return(SUCCESS);
         if (fft) {                  }
 #if defined(UNICODE)  
                 WideCharToMultiByte(CP_ACP, 0, w32fd.cFileName, -1,  
                                                                 fft->path, sizeof(fft->path), NULL, NULL);  
 #else  
                 milstr_ncpy(fft->path, w32fd.cFileName, sizeof(fft->path));  
 #endif  
                 fft->size = w32fd.nFileSizeLow;  
                 fft->attr = w32fd.dwFileAttributes;  
         }          }
         return(SUCCESS);          return(FAILURE);
 }  }
   
 void file_findclose(FILEFINDH hdl) {  void file_listclose(FLISTH hdl) {
   
         if (hdl) {          FindClose(hdl);
                 FindClose(hdl);  
         }  
 }  }
   
   

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


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