home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / compress / 4380 < prev    next >
Encoding:
Internet Message Format  |  1993-01-06  |  2.1 KB

  1. Path: sparky!uunet!news.claremont.edu!nntp-server.caltech.edu!madler
  2. From: madler@cco.caltech.edu (Mark Adler)
  3. Newsgroups: comp.compression
  4. Subject: Re: pkzip 2.04c / unzip v5.0 compatibility
  5. Date: 6 Jan 1993 17:20:38 GMT
  6. Organization: California Institute of Technology, Pasadena
  7. Lines: 64
  8. Distribution: world
  9. Message-ID: <1if4d6INNpgs@gap.caltech.edu>
  10. References: <1ied29INN37p@butler.cc.tut.fi>
  11. NNTP-Posting-Host: sandman.caltech.edu
  12.  
  13.  
  14. >> Unzip gives an error message 'BAD CRC 00000000 should be 629643f6'.
  15. ...
  16. >> pkunzip 2.04c gets the CRCs ok.
  17.  
  18. Just to let you know that we're on top of things, here are some
  19. quickie diffs for inflate.c in Unzip 5.0 to allow it to unzip
  20. anything pkzip 2.04c can make (so far).  Basically, inflate.c
  21. is calling deflated entries bad when they are not, in one case
  22. because of an apparent change between pkzip 1.93a and 2.04c,
  23. and in the other case because of a mistake on my part.  For those
  24. of you testing Unzip 5.0 with files made by pkzip 2.04c, please
  25. apply these patches to inflate.c and recompile Unzip 5.0.  If
  26. you encounter more problems, please let us know at:
  27.  
  28.      zip-bugs@wkuvx1.bitnet
  29.  
  30. Thanks.
  31.  
  32. Mark Adler
  33. madler@cco.caltech.edu
  34.  
  35. *** inflate.c.50        Thu Aug 13 19:46:16 1992
  36. --- inflate.c   Wed Jan  6 09:15:01 1993
  37. ***************
  38. *** 324,331 ****
  39.     do {
  40.       c[*p++]++;                  /* assume all entries <= BMAX */
  41.     } while (--i);
  42. !   if (c[0] == n)
  43. !     return 2;                   /* bad input--all zero length codes */
  44.   
  45.   
  46.     /* Find minimum and maximum length, bound *m by those */
  47. --- 324,335 ----
  48.     do {
  49.       c[*p++]++;                  /* assume all entries <= BMAX */
  50.     } while (--i);
  51. !   if (c[0] == n)                /* null input--all zero length codes */
  52. !   {
  53. !     *t = (struct huft *)NULL;
  54. !     *m = 0;
  55. !     return 0;
  56. !   }
  57.   
  58.   
  59.     /* Find minimum and maximum length, bound *m by those */
  60. ***************
  61. *** 469,475 ****
  62.   
  63.   
  64.     /* Return true (1) if we were given an incomplete table */
  65. !   return y != 0 && n != 1;
  66.   }
  67.   
  68.   
  69. --- 473,479 ----
  70.   
  71.   
  72.     /* Return true (1) if we were given an incomplete table */
  73. !   return y != 0 && g != 1;
  74.   }
  75.   
  76.   
  77.