OSDN Git Service

At first, directory separator 0xff must be transpose slash.
authorarai <arai@6a8cc165-1e22-0410-a132-eb4e3f353aba>
Wed, 31 Jan 2001 16:22:48 +0000 (16:22 +0000)
committerarai <arai@6a8cc165-1e22-0410-a132-eb4e3f353aba>
Wed, 31 Jan 2001 16:22:48 +0000 (16:22 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/lha/lha/trunk@35 6a8cc165-1e22-0410-a132-eb4e3f353aba

src/header.c

index c4d1ec2..e5da68c 100644 (file)
@@ -243,7 +243,7 @@ filename_conv(name, len, size,
                }
         if (from_code == CODE_SJIS &&
             SJC_FIRST_P(name[i]) &&
-            SJC_SECOND_P(name[i + 1])) {
+            SJC_SECOND_P(name[i+1])) {
                        int c1, c2;
 
             if (to_code != CODE_EUC) {
@@ -254,7 +254,8 @@ filename_conv(name, len, size,
                        c1 = (unsigned char)name[i];
             c2 = (unsigned char)name[i+1];
                        sjis2euc(&c1, &c2);
-                       name[i] = c1; name[i+1] = c2;
+                       name[i] = c1;
+            name[i+1] = c2;
                        i++;
             continue;
         }
@@ -661,9 +662,11 @@ get_header(fp, hdr)
                                for (i = 0; i < header_size - 3; i++)
                                        dirname[i] = (char) get_byte();
                                dirname[header_size - 3] = '\0';
-                               /* convdelim(dirname, DELIM);       is it needed ?
-                   comment it by Koji Arai*/
                                dir_length = header_size - 3;
+
+                filename_conv(dirname, dir_length, sizeof(dirname),
+                              NONE, NONE, "\xff", "/", NONE);
+
                                break;
                        case 0x40:
                                /*