home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2001 January / VPR0101A.BIN / OLS / IZPDJ006 / izpdj006.lzh / SRC / IZIP32J.DIF next >
Text File  |  1999-05-23  |  39KB  |  1,152 lines

  1. diff -ruN zip22org/api.c zip22/api.c
  2. --- zip22org/api.c    Tue Oct  7 02:48:14 1997
  3. +++ zip22/api.c    Mon Nov 10 02:45:22 1997
  4. @@ -252,7 +252,13 @@
  5.        return ZE_MEM;
  6.     argCee++;
  7.     }
  8. -if (Options.fRecurse) /* recurse into subdirectories -R */
  9. +if (Options.fRecurse==1) /* recurse into subdirectories -R */
  10. +   {
  11. +   if (AllocMemory(argCee, "-r", "Recurse") != ZE_OK)
  12. +      return ZE_MEM;
  13. +   argCee++;
  14. +   }
  15. +if (Options.fRecurse==2) /* recurse into subdirectories -R */
  16.     {
  17.     if (AllocMemory(argCee, "-R", "Recurse") != ZE_OK)
  18.        return ZE_MEM;
  19. diff -ruN zip22org/crypt.c zip22/crypt.c
  20. --- zip22org/crypt.c    Mon Oct  6 04:05:30 1997
  21. +++ zip22/crypt.c    Tue Jun  2 03:58:32 1998
  22. @@ -10,3 +10,135 @@
  23.  
  24.  /* something "externally visible" to shut up compiler/linker warnings */
  25.  int zcr_dummy;
  26. +
  27. +/*
  28. +    for IZIP32J.DLL
  29. +        by Yoshioka Tsuneo(QWF00133@niftyserve.or.jp)
  30. +        welcome any e-mail!!
  31. +        You can use this file as Public Domain Software.
  32. +        Copy,Edit,Re-distibute and for any purpose,you can use this file.
  33. +
  34. +*/
  35. +
  36. +#if CRYPT
  37. +
  38. +#ifndef WINDLL
  39. +#error "Please use crypt.c of zcrypt27.zip"
  40. +#endif
  41. +#include "zip.h"
  42. +#include "crypt.h"
  43. +#include "ttyio.h"
  44. +#include <time.h>
  45. +         
  46. +static int ZCRYPT32DLLLoaded=0;
  47. +static HINSTANCE ZCRYPT32DLLhLib;
  48. +
  49. +int ZCRYPT32DLLLoadLibrary(void)
  50. +{
  51. +    HINSTANCE hLib;
  52. +
  53. +    if(ZCRYPT32DLLLoaded==1){return 0;}
  54. +    hLib=LoadLibrary("ZCRYPT32.DLL");
  55. +    if(hLib == NULL){
  56. +        MessageBox(NULL,"Can't load ZCRYPT32.DLL","Error",MB_ICONEXCLAMATION);
  57. +        return -1;
  58. +    }
  59. +
  60. +    ZCRYPT32DLLhLib=hLib;
  61. +#define IMPORTPROC(FUNC) FUNC = GetProcAddress(hLib,#FUNC)
  62. +    IMPORTPROC(zencode);
  63. +    IMPORTPROC(zencode_n);
  64. +#ifndef UNZIP                   /* UnZip provides this in globals.h */
  65. +    IMPORTPROC(zcrypt_set_crc_32_tab);
  66. +#endif
  67. +    IMPORTPROC(decrypt_byte);
  68. +    IMPORTPROC(update_keys);
  69. +    IMPORTPROC(init_keys);
  70. +#ifdef ZIP
  71. +    /*IMPORTPROC(crypthead);*/
  72. +#ifdef UTIL
  73. +    IMPORTPROC(zipcloak);
  74. +    IMPORTPROC(zipbare);
  75. +#else
  76. +    /*IMPORTPROC(zfwrite);*/
  77. +    IMPORTPROC(zcrypt_set_key);
  78. +#endif    /* UTIL */
  79. +#endif    /* ZIP */
  80. +    return 0;
  81. +}
  82. +int ZCRYPT32DLLFreeLibrary(void)
  83. +{
  84. +    if(ZCRYPT32DLLLoaded==0){return 0;}
  85. +    FreeLibrary(ZCRYPT32DLLhLib);
  86. +}
  87. +
  88. +/***********************************************************************
  89. + * Write encryption header to file zfile using the password passwd
  90. + * and the cyclic redundancy check crc.
  91. + */
  92. +void crypthead(passwd, crc, zfile)
  93. +    char *passwd;                /* password string */
  94. +    ulg crc;                     /* crc of file being encrypted */
  95. +    FILE *zfile;                 /* where to write header */
  96. +{
  97. +    int n;                       /* index in random header */
  98. +    int t;                       /* temporary */
  99. +    int c;                       /* random byte */
  100. +    int ztemp;                   /* temporary for zencoded value */
  101. +    uch header[RAND_HEAD_LEN-2]; /* random header */
  102. +    static unsigned calls = 0;   /* ensure different random header each time */
  103. +
  104. +    /* First generate RAND_HEAD_LEN-2 random bytes. We encrypt the
  105. +     * output of rand() to get less predictability, since rand() is
  106. +     * often poorly implemented.
  107. +     */
  108. +    if (++calls == 1) {
  109. +#  ifndef ZCR_SEED2
  110. +#    define ZCR_SEED2 (unsigned)3141592654L     /* use PI as default pattern */
  111. +#  endif
  112. +        srand((unsigned)time(NULL) ^ ZCR_SEED2);
  113. +    }
  114. +    init_keys(passwd);
  115. +    for (n = 0; n < RAND_HEAD_LEN-2; n++) {
  116. +        c = (rand() >> 7) & 0xff;
  117. +        header[n] = (uch)zencode(c, t);
  118. +    }
  119. +    /* Encrypt random header (last two bytes is high word of crc) */
  120. +    init_keys(passwd);
  121. +    for (n = 0; n < RAND_HEAD_LEN-2; n++) {
  122. +        ztemp = zencode(header[n], t);
  123. +        putc(ztemp, zfile);
  124. +    }
  125. +    ztemp = zencode((int)(crc >> 16) & 0xff, t);
  126. +    putc(ztemp, zfile);
  127. +    ztemp = zencode((int)(crc >> 24) & 0xff, t);
  128. +    putc(ztemp, zfile);
  129. +}
  130. +
  131. +
  132. +unsigned zfwrite(buf, item_size, nb, f)
  133. +    zvoid *buf;                /* data buffer */
  134. +    extent item_size;          /* size of each item in bytes */
  135. +    extent nb;                 /* number of items */
  136. +    FILE *f;                   /* file to write to */
  137. +{
  138. +    int t;                    /* temporary */
  139. +
  140. +    if (key != (char *)NULL) { /* key is the global password pointer */
  141. +        ulg size;              /* buffer size */
  142. +        char *p = (char*)buf;  /* steps through buffer */
  143. +
  144. +        /* Encrypt data in buffer */
  145. +#if 0
  146. +        for (size = item_size*(ulg)nb; size != 0; p++, size--) {
  147. +            *p = (char)zencode(*p, t);
  148. +        }
  149. +#else
  150. +        zencode_n(p,item_size*(ulg)nb);
  151. +#endif
  152. +    }
  153. +    /* Write the buffer out */
  154. +    return fwrite(buf, item_size, nb, f);
  155. +}
  156. +
  157. +#endif /* CRYPT */
  158. diff -ruN zip22org/crypt.h zip22/crypt.h
  159. --- zip22org/crypt.h    Mon Oct  6 04:05:44 1997
  160. +++ zip22/crypt.h    Tue Jun  2 03:58:32 1998
  161. @@ -7,18 +7,135 @@
  162.     See the "WHERE" file for sites from which to obtain the full crypt
  163.     sources (zcrypt27.zip or later).
  164.   */
  165. +/*
  166. +   crypt.h (full version) by Info-ZIP.   Last revised:  [see CR_VERSION_DATE]
  167. +
  168. +   This header file is not copyrighted, and non-beta versions may be
  169. +   distributed without restriction.
  170. + */
  171.  
  172.  #ifndef __crypt_h   /* don't include more than once */
  173.  #define __crypt_h
  174.  
  175. +
  176.  #ifdef CRYPT
  177.  #  undef CRYPT
  178. +#  define CRYPT  1    /* dummy version */
  179. +#else
  180. +#  define CRYPT  0    /* dummy version */
  181. +#endif
  182. +
  183. +#if !CRYPT
  184. +#    define zencode
  185. +#    define zdecode
  186. +#    define zfwrite  fwrite
  187. +#else    /* !CRYPT */
  188. +
  189. +#ifdef WINDLL
  190. +#    include <windows.h>
  191. +#    define DLLIMPORT(FUNC) (WINAPI *FUNC)
  192. +int ZCRYPT32DLLLoadLibrary(void);
  193. +int ZCRYPT32DLLFreeLibrary(void);
  194. +#else
  195. +#    define DLLIMPORT(FUNC)  FUNC
  196. +#endif
  197. +
  198. +#ifdef _WIN32
  199. +void DLLIMPORT(zencode_n)(char *ptr,int n);
  200. +int DLLIMPORT(zencode)(char c,int *t);
  201. +#endif
  202. +
  203. +#define CR_MAJORVER        2
  204. +#define CR_MINORVER        7
  205. +#ifdef CR_BETA
  206. +#  define CR_BETA_VER      "m BETA"
  207. +#  define CR_VERSION_DATE  "13 April 1997"     /* last real code change */
  208. +#else
  209. +#  define CR_BETA_VER      ""
  210. +#  define CR_VERSION_DATE  "22 April 1997"     /* last public release date */
  211. +#  define CR_RELEASE
  212. +#endif
  213. +
  214. +#ifndef __G         /* UnZip only, for now (DLL stuff) */
  215. +#  define __G
  216. +#  define __G__
  217. +#  define __GDEF
  218. +#  define __GPRO    void
  219. +#  define __GPRO__
  220. +#endif
  221. +
  222. +#if defined(MSDOS) || defined(OS2) || defined(WIN32)
  223. +#  ifndef DOS_OS2_W32
  224. +#    define DOS_OS2_W32
  225. +#  endif
  226. +#endif
  227. +
  228. +#if defined(DOS_OS2_W32) || defined(__human68k__)
  229. +#  ifndef DOS_H68_OS2_W32
  230. +#    define DOS_H68_OS2_W32
  231. +#  endif
  232.  #endif
  233. -#define CRYPT  0    /* dummy version */
  234.  
  235. -#define zencode
  236. -#define zdecode
  237. +#if defined(VM_CMS) || defined(MVS)
  238. +#  ifndef CMS_MVS
  239. +#    define CMS_MVS
  240. +#  endif
  241. +#endif
  242. +
  243. +#ifdef REALLY_SHORT_SYMS
  244. +#  define decrypt_byte   dcrbyt
  245. +#endif
  246. +
  247. +#define PWLEN  80   /* input buffer size for reading encryption key */
  248. +#define RAND_HEAD_LEN  12    /* length of encryption random header */
  249. +
  250. +/* the crc_32_tab array has to be provided externally for the crypt calculus */
  251. +#ifndef UNZIP                   /* UnZip provides this in globals.h */
  252. +   extern ulg near *crc_32_tab;
  253. +#ifdef WINDLL
  254. +   void DLLIMPORT(zcrypt_set_crc_32_tab) OF((ulg near *));
  255. +#endif
  256. +#endif /* !UNZIP */
  257. +
  258. +/* encode byte c, using temp t.  Warning: c must not have side effects. */
  259. +#define zencode(c,t)  (t=decrypt_byte(__G), update_keys(c), t^(c))
  260. +
  261. +/* decode byte c in place */
  262. +#define zdecode(c)   update_keys(__G__ c ^= decrypt_byte(__G))
  263. +int  DLLIMPORT(decrypt_byte) OF((__GPRO));
  264. +int  DLLIMPORT(update_keys) OF((__GPRO__ int c));
  265. +void DLLIMPORT(init_keys) OF((__GPRO__ char *passwd));
  266. +
  267. +#ifdef ZIP
  268. +   void crypthead OF((char *, ulg, FILE *));
  269. +#  ifdef UTIL
  270. +     int DLLIMPORT(zipcloak) OF((struct zlist far *, FILE *, FILE *, char *));
  271. +     int DLLIMPORT(zipbare) OF((__GPRO__ struct zlist far *, FILE *, FILE *, char *));
  272. +#  else
  273. +     unsigned zfwrite OF((zvoid *, extent, extent, FILE *));
  274. +     extern char *key;
  275. +#ifdef WINDLL
  276. +     void DLLIMPORT(zcrypt_set_key) OF((char *));
  277. +#endif
  278. +#  endif
  279. +#endif /* ZIP */
  280. +
  281. +#if (defined(UNZIP) && !defined(FUNZIP))
  282. +   int  DLLIMPORT(decrypt) OF((__GPRO));
  283. +#endif
  284. +
  285. +#ifdef FUNZIP
  286. +   extern int encrypted;
  287. +#ifdef WINDLL
  288. +   void DLLIMPORT(zcrypt_set_encrypted) OF((int));
  289. +#endif
  290. +#  ifdef NEXTBYTE
  291. +#    undef NEXTBYTE
  292. +#  endif
  293. +#  define NEXTBYTE \
  294. +   (encrypted? update_keys(__G__ getc(G.in)^decrypt_byte(__G)) : getc(G.in))
  295. +#endif /* FUNZIP */
  296.  
  297. -#define zfwrite  fwrite
  298.  
  299. +#endif    /* !CRYPT */
  300.  #endif /* !__crypt_h */
  301. diff -ruN zip22org/fileio.c zip22/fileio.c
  302. --- zip22org/fileio.c    Thu Oct  9 02:09:20 1997
  303. +++ zip22/fileio.c    Mon Nov 10 17:20:06 1997
  304. @@ -204,7 +204,13 @@
  305.          f = 12;                         /* now just excess characters */
  306.      else
  307.        if (f < 12 && f != 8)
  308. -      {
  309. +      {
  310. +#ifdef KANJI
  311. +          if(iskanji1(c) && iskanji2(*p)){
  312. +            *q++ = (char)(to_up(c));
  313. +            c  = (unsigned char)*p++;
  314. +          }
  315. +#endif
  316.          *q++ = (char)(to_up(c));
  317.          f++;                            /* do until end of name or type */
  318.        }
  319. @@ -276,15 +282,22 @@
  320.        if (patterns[n].select == 'R') {
  321.           /* With -R patterns, if the pattern has N path components (that is, */
  322.           /* N-1 slashes), then we test only the last N components of name.   */
  323. -         slashes = 0;
  324. +         
  325. +         /*slashes = 0;
  326.           for (q = patterns[n].zname; (q = strchr(q, '/')) != NULL; q++)
  327.              slashes++;
  328.           for (q = p + strlen(p); q > p; q--)
  329. -            if (q[-1] == '/')
  330. +             if (q[-1] == '/'){
  331.                 if (!slashes--) {
  332.                    p = q;
  333.                    break;
  334.                 }
  335. +             }
  336. +         */
  337. +          /* changed by tsuneo */
  338. +        if((q=strchr(patterns[n].zname,'/'))!=NULL){
  339. +            p=q+1;
  340. +        }
  341.        }
  342.        if (MATCH(patterns[n].zname, p)) {
  343.           if (patterns[n].select == 'x') return 0;
  344. diff -ruN zip22org/tmp1 zip22/tmp1
  345. --- zip22org/tmp1    Wed Dec 31 19:00:00 1969
  346. +++ zip22/tmp1    Mon Nov 10 18:47:06 1997
  347. @@ -0,0 +1,10 @@
  348. +util.c:         while (isspace(*envptr))           /* we must discard leading spaces */
  349. +util.c:             while (isspace(*envptr))
  350. +util.c:             while ((ch = *bufptr) != '\0' && !isspace(ch)) ++bufptr;
  351. +util.c:             while ((ch = *bufptr) != '\0' && !isspace(ch)) ++bufptr;
  352. +util.c:         while ((ch = *bufptr) != '\0' && !isspace(ch)) ++bufptr;
  353. +util.c:         while ((ch = *bufptr) != '\0' && isspace(ch)) ++bufptr;
  354. +util.c:             while ((ch = *s) != '\0' && !isspace(ch)) ++s;
  355. +util.c:             while ((ch = *s) != '\0' && !isspace(ch)) ++s;
  356. +util.c:         while ((ch = *s) != '\0' && !isspace(ch)) ++s;
  357. +util.c:         while ((ch = *s) != '\0' && isspace(ch)) ++s;
  358. diff -ruN zip22org/util.c zip22/util.c
  359. --- zip22org/util.c    Sat Aug 23 21:32:52 1997
  360. +++ zip22/util.c    Sat May 15 13:34:34 1999
  361. @@ -16,10 +16,12 @@
  362.  #include "ebcdic.h"
  363.  #include <ctype.h>
  364.  
  365. +
  366.  #ifdef MSDOS16
  367.  #  include <dos.h>
  368.  #endif
  369.  
  370. +
  371.  uch upper[256], lower[256];
  372.  /* Country-dependent case map table */
  373.  
  374. @@ -56,16 +58,25 @@
  375.  /* If p is a sh expression, a pointer to the first special character is
  376.     returned.  Otherwise, NULL is returned. */
  377.  {
  378. -  for (; *p; p++)
  379. -    if (*p == '\\' && *(p+1))
  380. -      p++;
  381. +    for (; *p; p++){
  382. +        if (*p == '\\' && *(p+1)){
  383. +            p++;
  384.  #ifdef VMS
  385. -    else if (*p == '%' || *p == '*')
  386. +        }else if (*p == '%' || *p == '*'){
  387.  #else /* !VMS */
  388. -    else if (*p == '?' || *p == '*' || *p == '[')
  389. +        }else if (*p == '?' || *p == '*' || *p == '['){
  390.  #endif /* ?VMS */
  391. -      return p;
  392. -  return NULL;
  393. +            return p;
  394. +        }
  395. +#ifdef KANJI
  396. +        if(iskanji1(*p) && iskanji2(*(p+1))){
  397. +            p++;
  398. +            continue;
  399. +        }
  400. +#endif
  401. +
  402. +    }
  403. +    return NULL;
  404.  }
  405.  
  406.  
  407. @@ -102,13 +113,21 @@
  408.    {
  409.      if (*p == 0)
  410.        return 1;
  411. -    for (; *s; s++)
  412. -      if ((c = recmatch(p, s)) != 0)
  413. -        return (int)c;
  414. +    for (; *s; s++){
  415. +        if ((c = recmatch(p, s)) != 0){
  416. +            return (int)c;
  417. +        }
  418. +#ifdef KANJI
  419. +        if(iskanji1(*s) && iskanji2(*(s+1))){
  420. +            s++;
  421. +            continue;
  422. +        }
  423. +#endif
  424. +    }
  425.      return 2;           /* 2 means give up--shmatch will return false */
  426.    }
  427.  
  428. -#ifndef VMS             /* No bracket matching in VMS */
  429. +#ifndef VMS           /* No bracket matching in VMS */
  430.    /* Parse and process the list of characters and ranges in brackets */
  431.    if (c == '[')
  432.    {
  433. @@ -155,7 +174,19 @@
  434.        return 0;
  435.  
  436.    /* Just a character--compare it */
  437. +#ifdef KANJI
  438. +    if(iskanji1(c) && iskanji2(*(p))){
  439. +        if(c == *s && *(p) == *(s+1)){
  440. +            return recmatch(p+1,s+2);
  441. +        }else{
  442. +            return 0;
  443. +        }
  444. +    }else{
  445. +        return case_map(c) == case_map(*s) ? recmatch(p, ++s) : 0;
  446. +    }
  447. +#else
  448.    return case_map(c) == case_map(*s) ? recmatch(p, ++s) : 0;
  449. +#endif
  450.  }
  451.  
  452.  
  453. @@ -405,11 +436,11 @@
  454.      /* see if anything in the environment */
  455.      envptr = getenv(envstr);
  456.      if (envptr != NULL)                                /* usual var */
  457. -        while (isspace(*envptr))           /* we must discard leading spaces */
  458. +        while (isspace((uch)*envptr))           /* we must discard leading spaces */
  459.              envptr++;
  460.      if (envptr == NULL || *envptr == '\0')
  461.          if ((envptr = getenv(envstr2)) != NULL)                 /* alternate */
  462. -            while (isspace(*envptr))
  463. +            while (isspace((uch)*envptr))
  464.                  envptr++;
  465.      if (envptr == NULL || *envptr == '\0')
  466.          return;
  467. @@ -451,7 +482,7 @@
  468.              }
  469.          } else {
  470.              *(argv++) = bufptr;
  471. -            while ((ch = *bufptr) != '\0' && !isspace(ch)) ++bufptr;
  472. +            while ((ch = *bufptr) != '\0' && !isspace((uch)ch)) ++bufptr;
  473.              if (ch != '\0') *(bufptr++) = '\0';
  474.          }
  475.  #else
  476. @@ -465,16 +496,16 @@
  477.              if (ch != '\0') *(bufptr++) = '\0';
  478.          } else {
  479.              *(argv++) = bufptr;
  480. -            while ((ch = *bufptr) != '\0' && !isspace(ch)) ++bufptr;
  481. +            while ((ch = *bufptr) != '\0' && !isspace((uch)ch)) ++bufptr;
  482.              if (ch != '\0') *(bufptr++) = '\0';
  483.          }
  484.  #  else
  485.          *(argv++) = bufptr;
  486. -        while ((ch = *bufptr) != '\0' && !isspace(ch)) ++bufptr;
  487. +        while ((ch = *bufptr) != '\0' && !isspace((uch)ch)) ++bufptr;
  488.          if (ch != '\0') *(bufptr++) = '\0';
  489.  #  endif
  490.  #endif /* ?(AMIGA || UNIX) */
  491. -        while ((ch = *bufptr) != '\0' && isspace(ch)) ++bufptr;
  492. +        while ((ch = *bufptr) != '\0' && isspace((uch)ch)) ++bufptr;
  493.      } while (ch);
  494.  
  495.      /* now save old argc and copy in the old args */
  496. @@ -505,20 +536,27 @@
  497.                      ++s;
  498.              if (*s) ++s;        /* trailing quote */
  499.          } else
  500. -            while ((ch = *s) != '\0' && !isspace(ch)) ++s;
  501. +            while ((ch = *s) != '\0' && !isspace((uch)ch)) ++s;
  502.  #else
  503.  #  ifdef WIN32
  504.          if (*s == '\"') {
  505.              ++s;                /* leading quote */
  506. -            while ((ch = *s) != '\0' && ch != '\"') ++s;
  507. +            while ((ch = *s) != '\0' && ch != '\"'){
  508. +#ifdef KANJI
  509. +                if(iskanji1(*s) && iskanji2(*(s+1))){
  510. +                    s++;
  511. +                }
  512. +#endif
  513. +                ++s;
  514. +            }
  515.              if (*s) ++s;        /* trailing quote */
  516.          } else
  517. -            while ((ch = *s) != '\0' && !isspace(ch)) ++s;
  518. +            while ((ch = *s) != '\0' && !isspace((uch)ch)) ++s;
  519.  #  else
  520. -        while ((ch = *s) != '\0' && !isspace(ch)) ++s;
  521. +        while ((ch = *s) != '\0' && !isspace((uch)ch)) ++s;
  522.  #  endif
  523.  #endif /* ?(AMIGA || UNIX) */
  524. -        while ((ch = *s) != '\0' && isspace(ch)) ++s;
  525. +        while ((ch = *s) != '\0' && isspace((uch)ch)) ++s;
  526.      } while (ch);
  527.  
  528.      return(count);
  529. diff -ruN zip22org/win32/win32zip.c zip22/win32/win32zip.c
  530. --- zip22org/win32/win32zip.c    Wed Aug 20 03:15:06 1997
  531. +++ zip22/win32/win32zip.c    Mon Nov 10 04:25:24 1997
  532. @@ -269,9 +269,15 @@
  533.      strcpy(p, w);
  534.  
  535.      /* Normalize path delimiter as '/' */
  536. -    for (q = p; *q; q++)                  /* use / consistently */
  537. +    for (q = p; *q; q++){                  /* use / consistently */
  538.          if (*q == '\\')
  539.              *q = '/';
  540. +#ifdef KANJI
  541. +        if(iskanji1(*q) && iskanji2(*(q+1))){
  542. +            q++;
  543. +        }
  544. +#endif
  545. +    }
  546.  
  547.      /* Separate the disk part of the path */
  548.      if ((q = strchr(p, ':')) != NULL) {
  549. @@ -332,9 +338,15 @@
  550.    }
  551.  
  552.    /* Live name--use if file, recurse if directory */
  553. -  for (p = n; *p; p++)          /* use / consistently */
  554. +  for (p = n; *p; p++){          /* use / consistently */
  555.      if (*p == '\\')
  556.        *p = '/';
  557. +#ifdef KANJI
  558. +    if(iskanji1(*p) && iskanji2(*(p+1))){
  559. +        p++;
  560. +    }
  561. +#endif
  562. +  }
  563.    if ((s.st_mode & S_IFDIR) == 0)
  564.    {
  565.      /* add or remove name of file */
  566. @@ -414,9 +426,15 @@
  567.      t += 2;
  568.  
  569.    /* Make changes, if any, to the copied name (leave original intact) */
  570. -  for (n = t; *n; n++)
  571. +  for (n = t; *n; n++){
  572.      if (*n == '\\')
  573.        *n = '/';
  574. +#ifdef KANJI
  575. +    if(iskanji1(*n) && iskanji2(*(n+1))){
  576. +        n++;
  577. +    }
  578. +#endif
  579. +  }
  580.  
  581.    if (!pathput)
  582.      t = last(t, PATH_END);
  583. diff -ruN zip22org/windll/windll32.def zip22/windll/windll32.def
  584. --- zip22org/windll/windll32.def    Thu Jul  3 23:46:28 1997
  585. +++ zip22/windll/windll32.def    Tue Jun  2 03:54:26 1998
  586. @@ -1,6 +1,7 @@
  587.  ;module-definition file for Windows Zip DLL -- used by link.exe
  588. -LIBRARY ZIP32 ; Library module name
  589. -DESCRIPTION 'Windows Info-ZIP Zip DLL 1.01 by Info-ZIP, Mike White 1997'
  590. +;LIBRARY ZIP32 ; Library module name
  591. +LIBRARY IZIP32J ; Library module name
  592. +DESCRIPTION 'Windows Info-ZIP Zip DLL 1.01 by Info-ZIP, Mike White 1997 / Japanese localization by Yoshioka Tsuneo.(1997-)'
  593.  
  594.  CODE  PRELOAD FIXED
  595.  
  596. @@ -12,4 +13,4 @@
  597.       ZpInit
  598.       ZpSetOptions
  599.       ZpGetOptions
  600. -
  601. +     IZip32JGetVersion
  602. diff -ruN zip22org/zip.c zip22/zip.c
  603. --- zip22org/zip.c    Mon Oct 27 00:04:22 1997
  604. +++ zip22/zip.c    Tue Jun  2 02:22:58 1998
  605. @@ -382,7 +382,8 @@
  606.  #  endif
  607.  #else /* !AMIGA */
  608.  #  if CRYPT
  609. -"  -e   encrypt                      -n   don't compress these suffixes"
  610. +"  -e   encrypt                      -n   don't compress these suffixes",
  611. +"  -P <password>      encrypt by <password>."
  612.  #  else
  613.  "  -h   show this help               -n   don't compress these suffixes"
  614.  #  endif
  615. @@ -1542,8 +1543,17 @@
  616.  
  617.  #if CRYPT
  618.    /* Initialize the crc_32_tab pointer, when encryption was requested. */
  619. -  if (key != NULL)
  620. +  if (key != NULL){
  621.      crc_32_tab = (ulg near *)get_crc_table();
  622. +#ifdef WINDLL
  623. +    if(ZCRYPT32DLLLoadLibrary()==-1){
  624. +        MessageBox(NULL,"Can't find ZCRYPT32.DLL","IZIP32J.DLL",0);
  625. +        ZIPERR(ZE_NONE,"Can't find ZCRYPT32.DLL");
  626. +    }
  627. +    zcrypt_set_crc_32_tab(crc_32_tab);
  628. +    zcrypt_set_key(key);
  629. +#endif
  630. +  }
  631.  #endif /* CRYPT */
  632.  
  633.    /* Before we get carried away, make sure zip file is writeable. This
  634. @@ -1685,6 +1695,7 @@
  635.            sprintf(errbuf, "was zipping %s", z->name);
  636.            ZIPERR(r, errbuf);
  637.          }
  638. +
  639.          if (r == ZE_OPEN || r == ZE_MISS)
  640.          {
  641.            o = 1;
  642. @@ -1776,6 +1787,7 @@
  643.      }
  644.      if ((r = zipup(z, y)) != ZE_OK  && r != ZE_OPEN && r != ZE_MISS)
  645.      {
  646. +
  647.        if (noisy)
  648.        {
  649.  #ifndef WINDLL
  650. @@ -1954,12 +1966,12 @@
  651.      zcomlen = strlen(zcomment);
  652.    }
  653.  
  654. -
  655.    /* Write central directory and end header to temporary zip */
  656.    diag("writing central directory");
  657.    k = 0;                        /* keep count for end header */
  658.    c = tempzn;                   /* get start of central */
  659.    n = t = 0;
  660. +    
  661.    for (z = zfiles; z != NULL; z = z->nxt)
  662.    {
  663.      if ((r = putcentral(z, y)) != ZE_OK) {
  664. diff -ruN zip22org/zip.h zip22/zip.h
  665. --- zip22org/zip.h    Sat Aug 23 21:33:00 1997
  666. +++ zip22/zip.h    Mon Nov 10 17:34:04 1997
  667. @@ -15,6 +15,18 @@
  668.  #ifndef __zip_h
  669.  #define __zip_h 1
  670.  
  671. +/* by tsuneo */
  672. +#define KANJI
  673. +#ifdef KANJI
  674. +#define UCH(c)  ((unsigned char)(c))
  675. +#define iskanji1(c) ((0x81<=UCH(c)&&UCH(c)<=0x9F)||(0xE0<=UCH(c)&&UCH(c)<=0xFC))
  676. +#define iskanji2(c) ((0x40<=UCH(c)&&UCH(c)<=0x7E)||(0x80<=UCH(c)&&UCH(c)<=0xFC))
  677. +/* multi byte charactor function (SJIS) (VC++) */
  678. +#define strrchr _mbsrchr
  679. +#define strchr _mbschr
  680. +#endif
  681. +
  682. +
  683.  #define ZIP   /* for crypt.c:  include zip password functions, not unzip */
  684.  
  685.  /* Set up portability */
  686. Binary files zip22org/zip32j1/aiueo.zip and zip22/zip32j1/aiueo.zip differ
  687. Binary files zip22org/zip32j1/debug/api.obj and zip22/zip32j1/debug/api.obj differ
  688. Binary files zip22org/zip32j1/debug/bits.obj and zip22/zip32j1/debug/bits.obj differ
  689. Binary files zip22org/zip32j1/debug/crc32.obj and zip22/zip32j1/debug/crc32.obj differ
  690. Binary files zip22org/zip32j1/debug/crctab.obj and zip22/zip32j1/debug/crctab.obj differ
  691. Binary files zip22org/zip32j1/debug/crypt.obj and zip22/zip32j1/debug/crypt.obj differ
  692. Binary files zip22org/zip32j1/debug/deflate.obj and zip22/zip32j1/debug/deflate.obj differ
  693. Binary files zip22org/zip32j1/debug/fileio.obj and zip22/zip32j1/debug/fileio.obj differ
  694. Binary files zip22org/zip32j1/debug/globals.obj and zip22/zip32j1/debug/globals.obj differ
  695. Binary files zip22org/zip32j1/debug/izip32j.exp and zip22/zip32j1/debug/izip32j.exp differ
  696. Binary files zip22org/zip32j1/debug/izip32j.lib and zip22/zip32j1/debug/izip32j.lib differ
  697. diff -ruN zip22org/zip32j1/debug/izip32j.pdb zip22/zip32j1/debug/izip32j.pdb
  698. --- zip22org/zip32j1/debug/izip32j.pdb    Wed Dec 31 19:00:00 1969
  699. +++ zip22/zip32j1/debug/izip32j.pdb    Sat May 15 13:34:36 1999
  700. @@ -0,0 +1 @@
  701. +Microsoft C/C++ program database 2.00
  702. Binary files zip22org/zip32j1/debug/izip32jv.obj and zip22/zip32j1/debug/izip32jv.obj differ
  703. Binary files zip22org/zip32j1/debug/mktime.obj and zip22/zip32j1/debug/mktime.obj differ
  704. Binary files zip22org/zip32j1/debug/nt.obj and zip22/zip32j1/debug/nt.obj differ
  705. Binary files zip22org/zip32j1/debug/trees.obj and zip22/zip32j1/debug/trees.obj differ
  706. Binary files zip22org/zip32j1/debug/ttyio.obj and zip22/zip32j1/debug/ttyio.obj differ
  707. Binary files zip22org/zip32j1/debug/util.obj and zip22/zip32j1/debug/util.obj differ
  708. diff -ruN zip22org/zip32j1/debug/vc50.idb zip22/zip32j1/debug/vc50.idb
  709. --- zip22org/zip32j1/debug/vc50.idb    Wed Dec 31 19:00:00 1969
  710. +++ zip22/zip32j1/debug/vc50.idb    Sat May 15 13:36:08 1999
  711. @@ -0,0 +1 @@
  712. +Microsoft C/C++ program database 2.00
  713. diff -ruN zip22org/zip32j1/debug/vc50.pdb zip22/zip32j1/debug/vc50.pdb
  714. --- zip22org/zip32j1/debug/vc50.pdb    Wed Dec 31 19:00:00 1969
  715. +++ zip22/zip32j1/debug/vc50.pdb    Sat May 15 13:34:36 1999
  716. @@ -0,0 +1 @@
  717. +Microsoft C/C++ program database 2.00
  718. Binary files zip22org/zip32j1/debug/win32.obj and zip22/zip32j1/debug/win32.obj differ
  719. Binary files zip22org/zip32j1/debug/win32zip.obj and zip22/zip32j1/debug/win32zip.obj differ
  720. Binary files zip22org/zip32j1/debug/windll.obj and zip22/zip32j1/debug/windll.obj differ
  721. Binary files zip22org/zip32j1/debug/zip.obj and zip22/zip32j1/debug/zip.obj differ
  722. Binary files zip22org/zip32j1/debug/zip32.exp and zip22/zip32j1/debug/zip32.exp differ
  723. Binary files zip22org/zip32j1/debug/zip32.lib and zip22/zip32j1/debug/zip32.lib differ
  724. diff -ruN zip22org/zip32j1/debug/zip32.pdb zip22/zip32j1/debug/zip32.pdb
  725. --- zip22org/zip32j1/debug/zip32.pdb    Wed Dec 31 19:00:00 1969
  726. +++ zip22/zip32j1/debug/zip32.pdb    Tue Jun  2 00:37:08 1998
  727. @@ -0,0 +1 @@
  728. +Microsoft C/C++ program database 2.00
  729. Binary files zip22org/zip32j1/debug/zip32j1.dll and zip22/zip32j1/debug/zip32j1.dll differ
  730. Binary files zip22org/zip32j1/debug/zip32j1.exp and zip22/zip32j1/debug/zip32j1.exp differ
  731. diff -ruN zip22org/zip32j1/debug/zip32j1.ilk zip22/zip32j1/debug/zip32j1.ilk
  732. --- zip22org/zip32j1/debug/zip32j1.ilk    Wed Dec 31 19:00:00 1969
  733. +++ zip22/zip32j1/debug/zip32j1.ilk    Tue Nov  4 16:26:10 1997
  734. @@ -0,0 +1,2 @@
  735. +Microsoft Linker Database
  736. +
  737. \ No newline at end of file
  738. Binary files zip22org/zip32j1/debug/zip32j1.lib and zip22/zip32j1/debug/zip32j1.lib differ
  739. Binary files zip22org/zip32j1/debug/zip32j1.pch and zip22/zip32j1/debug/zip32j1.pch differ
  740. diff -ruN zip22org/zip32j1/debug/zip32j1.pdb zip22/zip32j1/debug/zip32j1.pdb
  741. --- zip22org/zip32j1/debug/zip32j1.pdb    Wed Dec 31 19:00:00 1969
  742. +++ zip22/zip32j1/debug/zip32j1.pdb    Tue Nov  4 16:26:10 1997
  743. @@ -0,0 +1 @@
  744. +Microsoft C/C++ program database 2.00
  745. Binary files zip22org/zip32j1/debug/zipcloak.obj and zip22/zip32j1/debug/zipcloak.obj differ
  746. Binary files zip22org/zip32j1/debug/zipfile.obj and zip22/zip32j1/debug/zipfile.obj differ
  747. Binary files zip22org/zip32j1/debug/zipup.obj and zip22/zip32j1/debug/zipup.obj differ
  748. diff -ruN zip22org/zip32j1/izip32jv.c zip22/zip32j1/izip32jv.c
  749. --- zip22org/zip32j1/izip32jv.c    Wed Dec 31 19:00:00 1969
  750. +++ zip22/zip32j1/izip32jv.c    Sun May 23 21:38:26 1999
  751. @@ -0,0 +1,7 @@
  752. +#include <windows.h>
  753. +
  754. +#define IZIP32J_VERSION 6
  755. +int WINAPI IZip32JGetVersion(void)
  756. +{
  757. +    return IZIP32J_VERSION;
  758. +}
  759. Binary files zip22org/zip32j1/release/api.obj and zip22/zip32j1/release/api.obj differ
  760. Binary files zip22org/zip32j1/release/bits.obj and zip22/zip32j1/release/bits.obj differ
  761. Binary files zip22org/zip32j1/release/crc32.obj and zip22/zip32j1/release/crc32.obj differ
  762. Binary files zip22org/zip32j1/release/crctab.obj and zip22/zip32j1/release/crctab.obj differ
  763. Binary files zip22org/zip32j1/release/crypt.obj and zip22/zip32j1/release/crypt.obj differ
  764. Binary files zip22org/zip32j1/release/deflate.obj and zip22/zip32j1/release/deflate.obj differ
  765. Binary files zip22org/zip32j1/release/fileio.obj and zip22/zip32j1/release/fileio.obj differ
  766. Binary files zip22org/zip32j1/release/globals.obj and zip22/zip32j1/release/globals.obj differ
  767. Binary files zip22org/zip32j1/release/izip32j.exp and zip22/zip32j1/release/izip32j.exp differ
  768. Binary files zip22org/zip32j1/release/izip32j.lib and zip22/zip32j1/release/izip32j.lib differ
  769. Binary files zip22org/zip32j1/release/izip32jv.obj and zip22/zip32j1/release/izip32jv.obj differ
  770. Binary files zip22org/zip32j1/release/mktime.obj and zip22/zip32j1/release/mktime.obj differ
  771. Binary files zip22org/zip32j1/release/nt.obj and zip22/zip32j1/release/nt.obj differ
  772. Binary files zip22org/zip32j1/release/trees.obj and zip22/zip32j1/release/trees.obj differ
  773. Binary files zip22org/zip32j1/release/ttyio.obj and zip22/zip32j1/release/ttyio.obj differ
  774. Binary files zip22org/zip32j1/release/util.obj and zip22/zip32j1/release/util.obj differ
  775. diff -ruN zip22org/zip32j1/release/vc50.idb zip22/zip32j1/release/vc50.idb
  776. --- zip22org/zip32j1/release/vc50.idb    Wed Dec 31 19:00:00 1969
  777. +++ zip22/zip32j1/release/vc50.idb    Sun May 23 21:39:00 1999
  778. @@ -0,0 +1 @@
  779. +Microsoft C/C++ program database 2.00
  780. Binary files zip22org/zip32j1/release/win32.obj and zip22/zip32j1/release/win32.obj differ
  781. Binary files zip22org/zip32j1/release/win32zip.obj and zip22/zip32j1/release/win32zip.obj differ
  782. Binary files zip22org/zip32j1/release/windll.obj and zip22/zip32j1/release/windll.obj differ
  783. Binary files zip22org/zip32j1/release/zip.obj and zip22/zip32j1/release/zip.obj differ
  784. Binary files zip22org/zip32j1/release/zip32.exp and zip22/zip32j1/release/zip32.exp differ
  785. Binary files zip22org/zip32j1/release/zip32.lib and zip22/zip32j1/release/zip32.lib differ
  786. Binary files zip22org/zip32j1/release/zip32j1.pch and zip22/zip32j1/release/zip32j1.pch differ
  787. Binary files zip22org/zip32j1/release/zipfile.obj and zip22/zip32j1/release/zipfile.obj differ
  788. Binary files zip22org/zip32j1/release/zipup.obj and zip22/zip32j1/release/zipup.obj differ
  789. Binary files zip22org/zip32j1/zia04371 and zip22/zip32j1/zia04371 differ
  790. diff -ruN zip22org/zip32j1/zip32j1.dsp zip22/zip32j1/zip32j1.dsp
  791. --- zip22org/zip32j1/zip32j1.dsp    Wed Dec 31 19:00:00 1969
  792. +++ zip22/zip32j1/zip32j1.dsp    Tue Jun  2 03:59:22 1998
  793. @@ -0,0 +1,234 @@
  794. +# Microsoft Developer Studio Project File - Name="ZIP32J1" - Package Owner=<4>
  795. +# Microsoft Developer Studio Generated Build File, Format Version 5.00
  796. +# ** 編集しないでください **
  797. +
  798. +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
  799. +
  800. +CFG=ZIP32J1 - Win32 Debug
  801. +!MESSAGE これは有効なメイクファイルではありません。 このプロジェクトをビルドするためには NMAKE を使用してください。
  802. +!MESSAGE [メイクファイルのエクスポート] コマンドを使用して実行してください
  803. +!MESSAGE 
  804. +!MESSAGE NMAKE /f "ZIP32J1.MAK".
  805. +!MESSAGE 
  806. +!MESSAGE NMAKE の実行時に構成を指定できます
  807. +!MESSAGE コマンド ライン上でマクロの設定を定義します。例:
  808. +!MESSAGE 
  809. +!MESSAGE NMAKE /f "ZIP32J1.MAK" CFG="ZIP32J1 - Win32 Debug"
  810. +!MESSAGE 
  811. +!MESSAGE 選択可能なビルド モード:
  812. +!MESSAGE 
  813. +!MESSAGE "ZIP32J1 - Win32 Release" ("Win32 (x86) Dynamic-Link Library" 用)
  814. +!MESSAGE "ZIP32J1 - Win32 Debug" ("Win32 (x86) Dynamic-Link Library" 用)
  815. +!MESSAGE 
  816. +
  817. +# Begin Project
  818. +# PROP Scc_ProjName ""
  819. +# PROP Scc_LocalPath ""
  820. +CPP=cl.exe
  821. +MTL=midl.exe
  822. +RSC=rc.exe
  823. +
  824. +!IF  "$(CFG)" == "ZIP32J1 - Win32 Release"
  825. +
  826. +# PROP BASE Use_MFC 0
  827. +# PROP BASE Use_Debug_Libraries 0
  828. +# PROP BASE Output_Dir "Release"
  829. +# PROP BASE Intermediate_Dir "Release"
  830. +# PROP BASE Target_Dir ""
  831. +# PROP Use_MFC 0
  832. +# PROP Use_Debug_Libraries 0
  833. +# PROP Output_Dir "Release"
  834. +# PROP Intermediate_Dir "Release"
  835. +# PROP Ignore_Export_Lib 0
  836. +# PROP Target_Dir ""
  837. +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
  838. +# ADD CPP /nologo /W3 /GX /O2 /I ".." /I "..\win32" /I "..\windll" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "NO_ASM" /D "WINDLL" /D "CRYPT" /YX /FD /c
  839. +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
  840. +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
  841. +# ADD BASE RSC /l 0x411 /d "NDEBUG"
  842. +# ADD RSC /l 0x411 /d "NDEBUG"
  843. +BSC32=bscmake.exe
  844. +# ADD BASE BSC32 /nologo
  845. +# ADD BSC32 /nologo
  846. +LINK32=link.exe
  847. +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
  848. +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 /out:"c:\windows\system\izip32j.dll"
  849. +
  850. +!ELSEIF  "$(CFG)" == "ZIP32J1 - Win32 Debug"
  851. +
  852. +# PROP BASE Use_MFC 0
  853. +# PROP BASE Use_Debug_Libraries 1
  854. +# PROP BASE Output_Dir "Debug"
  855. +# PROP BASE Intermediate_Dir "Debug"
  856. +# PROP BASE Target_Dir ""
  857. +# PROP Use_MFC 0
  858. +# PROP Use_Debug_Libraries 1
  859. +# PROP Output_Dir "Debug"
  860. +# PROP Intermediate_Dir "Debug"
  861. +# PROP Ignore_Export_Lib 0
  862. +# PROP Target_Dir ""
  863. +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
  864. +# ADD CPP /nologo /ML /W3 /Gm /GX /Zi /Od /I ".." /I "..\win32" /I "..\windll" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "NO_ASM" /D "WINDLL" /D "MSDOS" /D "USE_EF_UX_TIME" /D "USE_ZIPMAIN" /D "CRYPT" /YX /FD /c
  865. +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
  866. +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
  867. +# ADD BASE RSC /l 0x411 /d "_DEBUG"
  868. +# ADD RSC /l 0x411 /d "_DEBUG"
  869. +BSC32=bscmake.exe
  870. +# ADD BASE BSC32 /nologo
  871. +# ADD BSC32 /nologo
  872. +LINK32=link.exe
  873. +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
  874. +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"c:\windows\system\izip32j.dll" /pdbtype:sept
  875. +
  876. +!ENDIF 
  877. +
  878. +# Begin Target
  879. +
  880. +# Name "ZIP32J1 - Win32 Release"
  881. +# Name "ZIP32J1 - Win32 Debug"
  882. +# Begin Source File
  883. +
  884. +SOURCE=..\api.c
  885. +# End Source File
  886. +# Begin Source File
  887. +
  888. +SOURCE=..\api.h
  889. +# End Source File
  890. +# Begin Source File
  891. +
  892. +SOURCE=..\bits.c
  893. +# End Source File
  894. +# Begin Source File
  895. +
  896. +SOURCE=..\crc32.c
  897. +# End Source File
  898. +# Begin Source File
  899. +
  900. +SOURCE=..\crctab.c
  901. +# End Source File
  902. +# Begin Source File
  903. +
  904. +SOURCE=..\crypt.c
  905. +# End Source File
  906. +# Begin Source File
  907. +
  908. +SOURCE=..\crypt.h
  909. +# End Source File
  910. +# Begin Source File
  911. +
  912. +SOURCE=..\deflate.c
  913. +# End Source File
  914. +# Begin Source File
  915. +
  916. +SOURCE=..\ebcdic.h
  917. +# End Source File
  918. +# Begin Source File
  919. +
  920. +SOURCE=..\windll\example.h
  921. +# End Source File
  922. +# Begin Source File
  923. +
  924. +SOURCE=..\fileio.c
  925. +# End Source File
  926. +# Begin Source File
  927. +
  928. +SOURCE=..\globals.c
  929. +# End Source File
  930. +# Begin Source File
  931. +
  932. +SOURCE=.\Izip32jv.c
  933. +# End Source File
  934. +# Begin Source File
  935. +
  936. +SOURCE=..\mktime.c
  937. +# End Source File
  938. +# Begin Source File
  939. +
  940. +SOURCE=..\win32\nt.c
  941. +# End Source File
  942. +# Begin Source File
  943. +
  944. +SOURCE=..\win32\nt.h
  945. +# End Source File
  946. +# Begin Source File
  947. +
  948. +SOURCE=..\revision.h
  949. +# End Source File
  950. +# Begin Source File
  951. +
  952. +SOURCE=..\windll\structs.h
  953. +# End Source File
  954. +# Begin Source File
  955. +
  956. +SOURCE=..\tailor.h
  957. +# End Source File
  958. +# Begin Source File
  959. +
  960. +SOURCE=..\trees.c
  961. +# End Source File
  962. +# Begin Source File
  963. +
  964. +SOURCE=..\ttyio.c
  965. +# End Source File
  966. +# Begin Source File
  967. +
  968. +SOURCE=..\ttyio.h
  969. +# End Source File
  970. +# Begin Source File
  971. +
  972. +SOURCE=..\util.c
  973. +# End Source File
  974. +# Begin Source File
  975. +
  976. +SOURCE=..\win32\win32.c
  977. +# End Source File
  978. +# Begin Source File
  979. +
  980. +SOURCE=..\win32\win32zip.c
  981. +# End Source File
  982. +# Begin Source File
  983. +
  984. +SOURCE=..\win32\win32zip.h
  985. +# End Source File
  986. +# Begin Source File
  987. +
  988. +SOURCE=..\windll\windll.c
  989. +# End Source File
  990. +# Begin Source File
  991. +
  992. +SOURCE=..\windll\windll.h
  993. +# End Source File
  994. +# Begin Source File
  995. +
  996. +SOURCE=..\windll\windll32.def
  997. +# End Source File
  998. +# Begin Source File
  999. +
  1000. +SOURCE=..\zip.c
  1001. +# End Source File
  1002. +# Begin Source File
  1003. +
  1004. +SOURCE=..\zip.h
  1005. +# End Source File
  1006. +# Begin Source File
  1007. +
  1008. +SOURCE=..\ziperr.h
  1009. +# End Source File
  1010. +# Begin Source File
  1011. +
  1012. +SOURCE=..\zipfile.c
  1013. +# End Source File
  1014. +# Begin Source File
  1015. +
  1016. +SOURCE=..\zipup.c
  1017. +# End Source File
  1018. +# Begin Source File
  1019. +
  1020. +SOURCE=..\win32\zipup.h
  1021. +# End Source File
  1022. +# Begin Source File
  1023. +
  1024. +SOURCE=..\windll\zipver.h
  1025. +# End Source File
  1026. +# End Target
  1027. +# End Project
  1028. diff -ruN zip22org/zip32j1/zip32j1.dsw zip22/zip32j1/zip32j1.dsw
  1029. --- zip22org/zip32j1/zip32j1.dsw    Wed Dec 31 19:00:00 1969
  1030. +++ zip22/zip32j1/zip32j1.dsw    Tue Jun  2 01:00:02 1998
  1031. @@ -0,0 +1,41 @@
  1032. +Microsoft Developer Studio Workspace File, Format Version 5.00
  1033. +# 警告: このワークスペース ファイル を編集または削除しないでください!
  1034. +
  1035. +###############################################################################
  1036. +
  1037. +Project: "ZIP32J1"=.\ZIP32J1.DSP - Package Owner=<4>
  1038. +
  1039. +Package=<5>
  1040. +{{{
  1041. +}}}
  1042. +
  1043. +Package=<4>
  1044. +{{{
  1045. +}}}
  1046. +
  1047. +###############################################################################
  1048. +
  1049. +Project: "minizip"=..\..\ZIP32J\minizip\minizip.dsp - Package Owner=<4>
  1050. +
  1051. +Package=<5>
  1052. +{{{
  1053. +}}}
  1054. +
  1055. +Package=<4>
  1056. +{{{
  1057. +}}}
  1058. +
  1059. +###############################################################################
  1060. +
  1061. +Global:
  1062. +
  1063. +Package=<5>
  1064. +{{{
  1065. +}}}
  1066. +
  1067. +Package=<3>
  1068. +{{{
  1069. +}}}
  1070. +
  1071. +###############################################################################
  1072. +
  1073. diff -ruN zip22org/zip32j1/zip32j1.opt zip22/zip32j1/zip32j1.opt
  1074. --- zip22org/zip32j1/zip32j1.opt    Wed Dec 31 19:00:00 1969
  1075. +++ zip22/zip32j1/zip32j1.opt    Sat May 15 15:59:12 1999
  1076. @@ -0,0 +1 @@
  1077. +ミマ爍ア
  1078. \ No newline at end of file
  1079. diff -ruN zip22org/zip32j1/zip32j1.plg zip22/zip32j1/zip32j1.plg
  1080. --- zip22org/zip32j1/zip32j1.plg    Wed Dec 31 19:00:00 1969
  1081. +++ zip22/zip32j1/zip32j1.plg    Sun May 23 21:39:00 1999
  1082. @@ -0,0 +1,49 @@
  1083. +--------------------構成: ZIP32J1 - Win32 Release--------------------
  1084. +Begining build with project "C:\HOME\LANG\VC5\ZIP22\ZIP32J1\ZIP32J1.DSP", at root.
  1085. +Active configuration is Win32 (x86) Dynamic-Link Library (based on Win32 (x86) Dynamic-Link Library)
  1086. +
  1087. +Project's tools are:
  1088. +            "32-bit C/C++ Compiler for 80x86" with flags "/nologo /ML /W3 /GX /O2 /I ".." /I "..\win32" /I "..\windll" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "NO_ASM" /D "WINDLL" /D "CRYPT" /Fp"Release/ZIP32J1.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c "
  1089. +            "OLE Type Library Maker" with flags "/nologo /D "NDEBUG" /mktyplib203 /o NUL /win32 "
  1090. +            "Win32 Resource Compiler" with flags "/l 0x411 /d "NDEBUG" "
  1091. +            "Browser Database Maker" with flags "/nologo /o"Release/ZIP32J1.bsc" "
  1092. +            "COFF Linker for 80x86" with flags "kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"Release/izip32j.pdb" /machine:I386 /def:"..\windll\windll32.def" /out:"c:\windows\system\izip32j.dll" /implib:"Release/izip32j.lib" "
  1093. +            "カスタム ビルド" with flags ""
  1094. +            "<Component 0xa>" with flags ""
  1095. +
  1096. +Creating temp file "C:\TMP\RSP62D2.TMP" with contents </nologo /ML /W3 /GX /O2 /I ".." /I "..\win32" /I "..\windll" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "NO_ASM" /D "WINDLL" /D "CRYPT" /Fp"Release/ZIP32J1.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c 
  1097. +"C:\HOME\LANG\VC5\ZIP22\ZIP32J1\Izip32jv.c"
  1098. +>
  1099. +Creating command line "cl.exe @C:\TMP\RSP62D2.TMP" 
  1100. +Creating temp file "C:\TMP\RSP62D3.TMP" with contents <kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"Release/izip32j.pdb" /machine:I386 /def:"..\windll\windll32.def" /out:"c:\windows\system\izip32j.dll" /implib:"Release/izip32j.lib" 
  1101. +.\Release\api.obj
  1102. +.\Release\bits.obj
  1103. +.\Release\crc32.obj
  1104. +.\Release\crctab.obj
  1105. +.\Release\crypt.obj
  1106. +.\Release\deflate.obj
  1107. +.\Release\fileio.obj
  1108. +.\Release\globals.obj
  1109. +.\Release\Izip32jv.obj
  1110. +.\Release\mktime.obj
  1111. +.\Release\nt.obj
  1112. +.\Release\trees.obj
  1113. +.\Release\ttyio.obj
  1114. +.\Release\util.obj
  1115. +.\Release\win32.obj
  1116. +.\Release\win32zip.obj
  1117. +.\Release\windll.obj
  1118. +.\Release\zip.obj
  1119. +.\Release\zipfile.obj
  1120. +.\Release\zipup.obj>
  1121. +Creating command line "link.exe @C:\TMP\RSP62D3.TMP" 
  1122. +コンパイル中...
  1123. +Izip32jv.c
  1124. +リンク中...
  1125. +..\windll\windll32.def : warning LNK4017: CODE 文はターゲット プラットフォームでサポートされていません; 無視しました
  1126. +..\windll\windll32.def : warning LNK4017: DATA 文はターゲット プラットフォームでサポートされていません; 無視しました
  1127. +   ライブラリ Release/izip32j.lib とオブジェクト Release/izip32j.exp を作成中
  1128. +
  1129. +
  1130. +
  1131. +izip32j.dll - エラー 0、警告 2
  1132. diff -ruN zip22org/zipfile.c zip22/zipfile.c
  1133. --- zip22org/zipfile.c    Mon Oct 27 00:04:22 1997
  1134. +++ zip22/zipfile.c    Mon Nov 10 04:25:26 1997
  1135. @@ -178,9 +178,15 @@
  1136.    _toslash(t);
  1137.  #endif
  1138.  #ifdef MSDOS
  1139. -  for (q = t; *q; q++)
  1140. +  for (q = t; *q; q++){
  1141.      if (*q == '\\')
  1142.        *q = '/';
  1143. +#ifdef KANJI
  1144. +    if(iskanji1(*q) && iskanji2(*q+1)){
  1145. +        q++;
  1146. +    }
  1147. +#endif
  1148. +  }
  1149.  #endif /* MSDOS */
  1150.    if (adjust) return t;
  1151.  #ifndef RISCOS
  1152.