Diff for /np2/x11/dosio.c between versions 1.2 and 1.3

version 1.2, 2003/11/16 16:43:45 version 1.3, 2003/11/17 13:17:16
Line 2 Line 2
   
 #include <sys/stat.h>  #include <sys/stat.h>
 #include <time.h>  #include <time.h>
 #if defined(WIN32)  
 #include <direct.h>  
 #endif  
   
 #include "codecnv.h"  #include "codecnv.h"
 #include "dosio.h"  #include "dosio.h"
Line 35  FILEH Line 32  FILEH
 file_open(const char *path)  file_open(const char *path)
 {  {
   
         return fopen(path, "rb");          return fopen(path, "rb+");
 }  }
   
 FILEH  FILEH
 file_open_rb(const char *path)  file_open_rb(const char *path)
 {  {
   
         return fopen(path, "rb");          return fopen(path, "rb+");
 }  }
   
 FILEH  FILEH
Line 100  file_attr(const char *path) Line 97  file_attr(const char *path)
   
         if (stat(path, &sb) == 0) {          if (stat(path, &sb) == 0) {
                 if (S_ISDIR(sb.st_mode)) {                  if (S_ISDIR(sb.st_mode)) {
                         return(FILEATTR_DIRECTORY);                          return FILEATTR_DIRECTORY;
                 }                  }
                 attr = 0;                  attr = 0;
                 if (!(sb.st_mode & S_IWUSR)) {                  if (!(sb.st_mode & S_IWUSR)) {
Line 215  file_attr_c(const char *sjis) Line 212  file_attr_c(const char *sjis)
         return file_attr_c(curpath);          return file_attr_c(curpath);
 }  }
   
   
 #if 0  
 static int  static int
 euckanji1st(const char *str, int pos)  euckanji1st(const char *str, int pos)
 {  {
Line 228  euckanji1st(const char *str, int pos) Line 223  euckanji1st(const char *str, int pos)
         }          }
         return ret;          return ret;
 }  }
 #endif  
   void
   file_cpyname(char *dst, const char *src, int maxlen)
   {
           int i;
   
           if (maxlen--) {
                   for (i = 0; i < maxlen && src[i] != '\0'; i++) {
                           dst[i] = src[i];
                   }
                   if (i != 0) {
                           if (euckanji1st(src, i-1)) {
                                   i--;
                           }
                   }
                   dst[i] = '\0';
           }
   }
   
 void  void
 file_catname(char *path, const char *sjis, int maxlen)  file_catname(char *path, const char *sjis, int maxlen)
Line 243  file_catname(char *path, const char *sji Line 255  file_catname(char *path, const char *sji
         }          }
         if (maxlen) {          if (maxlen) {
                 codecnv_sjis2euc(path, maxlen, sjis, (UINT)-1);                  codecnv_sjis2euc(path, maxlen, sjis, (UINT)-1);
                 for (;;) {                  for (; path[0] != '\0'; path++) {
                         if (!ISKANJI(*path)) {                          if (!ISKANJI(path[0])) {
                                 if (*(path+1) == '\0') {                                  if (path[1] == '\0') {
                                         break;                                          break;
                                 }                                  }
                                 path++;                                  path++;
                         } else if ((((*path) - 0x41) & 0xff) < 26) {                          } else if ((((path[0]) - 0x41) & 0xff) < 26) {
                                 *path |= 0x20;                                  path[0] |= 0x20;
                         } else if (*path == '\\') {                          } else if (path[0] == '\\') {
                                 *path = '/';                                  path[0] = '/';
                         } else if (*path == '\0') {  
                                 break;  
                         }                          }
                         path++;  
                 }                  }
         }          }
 }  }
   
   BOOL
   file_cmpname(const char *path, const char *sjis)
   {
           char euc[MAX_PATH];
   
           codecnv_sjis2euc(euc, sizeof(euc), sjis, (UINT)-1);
           return strcmp(path, euc);
   }
   
 char *  char *
 file_getname(char *path)  file_getname(char *path)
 {  {

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


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