Diff for /np2/win9x/dosio.cpp between versions 1.4 and 1.7

version 1.4, 2004/01/10 17:24:01 version 1.7, 2005/02/07 14:46:14
Line 20  static HANDLE CreateFile_A(LPCSTR lpFile Line 20  static HANDLE CreateFile_A(LPCSTR lpFile
         TCHAR   FileNameW[MAX_PATH*2];          TCHAR   FileNameW[MAX_PATH*2];
   
         MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, lpFileName, -1,          MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, lpFileName, -1,
                                                         FileNameW, sizeof(FileNameW)/sizeof(TCHAR));                                                                                  FileNameW, NELEMENTS(FileNameW));
         return(CreateFile(FileNameW, dwDesiredAccess, dwShareMode,          return(CreateFile(FileNameW, dwDesiredAccess, dwShareMode,
                                                 lpSecurityAttributes, dwCreationDisposition,                                                  lpSecurityAttributes, dwCreationDisposition,
                                                 dwFlagsAndAttributes, hTemplateFile));                                                  dwFlagsAndAttributes, hTemplateFile));
Line 262  short file_attr_c(const char *path) { Line 262  short file_attr_c(const char *path) {
 }  }
   
   
   static BOOL setflist(WIN32_FIND_DATA *w32fd, FLINFO *fli) {
   
   #if !defined(_WIN32_WCE)
           if ((w32fd->dwFileAttributes & FILEATTR_DIRECTORY) &&
                   ((!file_cmpname(w32fd->cFileName, ".")) ||
                   (!file_cmpname(w32fd->cFileName, "..")))) {
                   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);
   #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
           return(SUCCESS);
   }
   
 FLISTH file_list1st(const char *dir, FLINFO *fli) {  FLISTH file_list1st(const char *dir, FLINFO *fli) {
   
         char                    path[MAX_PATH];          char                    path[MAX_PATH];
Line 273  FLISTH file_list1st(const char *dir, FLI Line 295  FLISTH file_list1st(const char *dir, FLI
         milsjis_ncat(path, "*.*", sizeof(path));          milsjis_ncat(path, "*.*", sizeof(path));
         TRACEOUT(("file_list1st %s", path));          TRACEOUT(("file_list1st %s", path));
         hdl = FindFirstFile_A(path, &w32fd);          hdl = FindFirstFile_A(path, &w32fd);
         if ((hdl != INVALID_HANDLE_VALUE) && (fli)) {          if (hdl != INVALID_HANDLE_VALUE) {
                 fli->caps = FLICAPS_SIZE | FLICAPS_ATTR | FLICAPS_DATE | FLICAPS_TIME;                  do {
                 fli->size = w32fd.nFileSizeLow;                          if (setflist(&w32fd, fli) == SUCCESS) {
                 fli->attr = w32fd.dwFileAttributes;                                  return(hdl);
                 cnvdatetime(&w32fd.ftLastWriteTime, &fli->date, &fli->time);                          }
 #if defined(UNICODE)                  } while(FindNextFile(hdl, &w32fd));
                 WideCharToMultiByte(CP_ACP, 0, w32fd.cFileName, -1,                  FindClose(hdl);
                                                                 fli->path, sizeof(fli->path), NULL, NULL);  
 #else  
                 milstr_ncpy(fli->path, w32fd.cFileName, sizeof(fli->path));  
                 TRACEOUT(("-> %s", w32fd.cFileName));  
 #endif  
         }          }
         return(hdl);          return(FLISTH_INVALID);
 }  }
   
 BOOL file_listnext(FLISTH hdl, FLINFO *fli) {  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 (fli) {                  }
                 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);  
 #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  
         }          }
         return(SUCCESS);          return(FAILURE);
 }  }
   
 void file_listclose(FLISTH hdl) {  void file_listclose(FLISTH hdl) {

Removed from v.1.4  
changed lines
  Added in v.1.7


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