Home | History | Annotate | Download | only in minizip

Lines Matching refs:zi

852     zip64_internal* zi;
883 zi = (zip64_internal*)ALLOC(sizeof(zip64_internal));
884 if (zi==NULL)
910 TRYFREE(zi);
915 *zi = ziinit;
916 return (zipFile)zi;
958 int Write_LocalFileHeader(zip64_internal* zi, const char* filename, uInt size_extrafield_local, const void* extrafield_local)
965 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)LOCALHEADERMAGIC, 4);
969 if(zi->ci.zip64)
970 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)45,2);/* version needed to extract */
972 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)20,2);/* version needed to extract */
976 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.flag,2);
979 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.method,2);
982 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.dosDate,4);
986 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* crc 32, unknown */
989 if(zi->ci.zip64)
990 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xFFFFFFFF,4); /* compressed size, unknown */
992 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* compressed size, unknown */
996 if(zi->ci.zip64)
997 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xFFFFFFFF,4); /* uncompressed size, unknown */
999 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* uncompressed size, unknown */
1003 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_filename,2);
1005 if(zi->ci.zip64)
1011 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_extrafield,2);
1015 if (ZWRITE64(zi->z_filefunc,zi->filestream,filename,size_filename)!=size_filename)
1021 if (ZWRITE64(zi->z_filefunc, zi->filestream, extrafield_local, size_extrafield_local) != size_extrafield_local)
1026 if ((err==ZIP_OK) && (zi->ci.zip64))
1035 zi->ci.pos_zip64extrainfo = ZTELL64(zi->z_filefunc,zi->filestream);
1037 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (short)HeaderID,2);
1038 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (short)DataSize,2);
1040 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)UncompressedSize,8);
1041 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)CompressedSize,8);
1063 zip64_internal* zi;
1085 zi = (zip64_internal*)file;
1087 if (zi->in_opened_file_inzip == 1)
1105 zi->ci.dosDate = 0;
1109 zi->ci.dosDate = zipfi->dosDate;
1111 zi->ci.dosDate = zip64local_TmzDateToDosDate(&zipfi->tmz_date);
1114 zi->ci.flag = flagBase;
1116 zi->ci.flag |= 2;
1118 zi->ci.flag |= 4;
1120 zi->ci.flag |= 6;
1122 zi->ci.flag |= 1;
1124 zi->ci.crc32 = 0;
1125 zi->ci.method = method;
1126 zi->ci.encrypt = 0;
1127 zi->ci.stream_initialised = 0;
1128 zi->ci.pos_in_buffered_data = 0;
1129 zi->ci.raw = raw;
1130 zi->ci.pos_local_header = ZTELL64(zi->z_filefunc,zi->filestream);
1132 zi->ci.size_centralheader = SIZECENTRALHEADER + size_filename + size_extrafield_global + size_comment;
1133 zi->ci.size_centralExtraFree = 32; // Extra space we have reserved in case we need to add ZIP64 extra info data
1135 zi->ci.central_header = (char*)ALLOC((uInt)zi->ci.size_centralheader + zi->ci.size_centralExtraFree);
1137 zi->ci.size_centralExtra = size_extrafield_global;
1138 zip64local_putValue_inmemory(zi->ci.central_header,(uLong)CENTRALHEADERMAGIC,4);
1140 zip64local_putValue_inmemory(zi->ci.central_header+4,(uLong)versionMadeBy,2);
1141 zip64local_putValue_inmemory(zi->ci.central_header+6,(uLong)20,2);
1142 zip64local_putValue_inmemory(zi->ci.central_header+8,(uLong)zi->ci.flag,2);
1143 zip64local_putValue_inmemory(zi->ci.central_header+10,(uLong)zi->ci.method,2);
1144 zip64local_putValue_inmemory(zi->ci.central_header+12,(uLong)zi->ci.dosDate,4);
1145 zip64local_putValue_inmemory(zi->ci.central_header+16,(uLong)0,4); /*crc*/
1146 zip64local_putValue_inmemory(zi->ci.central_header+20,(uLong)0,4); /*compr size*/
1147 zip64local_putValue_inmemory(zi->ci.central_header+24,(uLong)0,4); /*uncompr size*/
1148 zip64local_putValue_inmemory(zi->ci.central_header+28,(uLong)size_filename,2);
1149 zip64local_putValue_inmemory(zi->ci.central_header+30,(uLong)size_extrafield_global,2);
1150 zip64local_putValue_inmemory(zi->ci.central_header+32,(uLong)size_comment,2);
1151 zip64local_putValue_inmemory(zi->ci.central_header+34,(uLong)0,2); /*disk nm start*/
1154 zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)0,2);
1156 zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)zipfi->internal_fa,2);
1159 zip64local_putValue_inmemory(zi->ci.central_header+38,(uLong)0,4);
1161 zip64local_putValue_inmemory(zi->ci.central_header+38,(uLong)zipfi->external_fa,4);
1163 if(zi->ci.pos_local_header >= 0xffffffff)
1164 zip64local_putValue_inmemory(zi->ci.central_header+42,(uLong)0xffffffff,4);
1166 zip64local_putValue_inmemory(zi->ci.central_header+42,(uLong)zi->ci.pos_local_header - zi->add_position_when_writting_offset,4);
1169 *(zi->ci.central_header+SIZECENTRALHEADER+i) = *(filename+i);
1172 *(zi->ci.central_header+SIZECENTRALHEADER+size_filename+i) =
1176 *(zi->ci.central_header+SIZECENTRALHEADER+size_filename+
1178 if (zi->ci.central_header == NULL)
1181 zi->ci.zip64 = zip64;
1182 zi->ci.totalCompressedData = 0;
1183 zi->ci.totalUncompressedData = 0;
1184 zi->ci.pos_zip64extrainfo = 0;
1186 err = Write_LocalFileHeader(zi, filename, size_extrafield_local, extrafield_local);
1189 zi->ci.bstream.avail_in = (uInt)0;
1190 zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE;
1191 zi->ci.bstream.next_out = (char*)zi->ci.buffered_data;
1192 zi->ci.bstream.total_in_hi32 = 0;
1193 zi->ci.bstream.total_in_lo32 = 0;
1194 zi->ci.bstream.total_out_hi32 = 0;
1195 zi->ci.bstream.total_out_lo32 = 0;
1198 zi->ci.stream.avail_in = (uInt)0;
1199 zi->ci.stream.avail_out = (uInt)Z_BUFSIZE;
1200 zi->ci.stream.next_out = zi->ci.buffered_data;
1201 zi->ci.stream.total_in = 0;
1202 zi->ci.stream.total_out = 0;
1203 zi->ci.stream.data_type = Z_BINARY;
1206 if ((err==ZIP_OK) && (zi->ci.method == Z_DEFLATED || zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw))
1208 if ((err==ZIP_OK) && (zi->ci.method == Z_DEFLATED) && (!zi->ci.raw))
1211 if(zi->ci.method == Z_DEFLATED)
1213 zi->ci.stream.zalloc = (alloc_func)0;
1214 zi->ci.stream.zfree = (free_func)0;
1215 zi->ci.stream.opaque = (voidpf)0;
1220 err = deflateInit2(&zi->ci.stream, level, Z_DEFLATED, windowBits, memLevel, strategy);
1223 zi->ci.stream_initialised = Z_DEFLATED;
1225 else if(zi->ci.method == Z_BZIP2ED)
1229 zi->ci.bstream.bzalloc = 0;
1230 zi->ci.bstream.bzfree = 0;
1231 zi->ci.bstream.opaque = (voidpf)0;
1233 err = BZ2_bzCompressInit(&zi->ci.bstream, level, 0,35);
1235 zi->ci.stream_initialised = Z_BZIP2ED;
1242 zi->ci.crypt_header_size = 0;
1247 zi->ci.encrypt = 1;
1248 zi->ci.pcrc_32_tab = get_crc_table();
1249 /*init_keys(password,zi->ci.keys,zi->ci.pcrc_32_tab);*/
1251 sizeHead=crypthead(password,bufHead,RAND_HEAD_LEN,zi->ci.keys,zi->ci.pcrc_32_tab,crcForCrypting);
1252 zi->ci.crypt_header_size = sizeHead;
1254 if (ZWRITE64(zi->z_filefunc,zi->filestream,bufHead,sizeHead) != sizeHead)
1260 zi->in_opened_file_inzip = 1;
1362 local int zip64FlushWriteBuffer(zip64_internal* zi)
1366 if (zi->ci.encrypt != 0)
1371 for (i=0;i<zi->ci.pos_in_buffered_data;i++)
1372 zi->ci.buffered_data[i] = zencode(zi->ci.keys, zi->ci.pcrc_32_tab, zi->ci.buffered_data[i],t);
1376 if (ZWRITE64(zi->z_filefunc,zi->filestream,zi->ci.buffered_data,zi->ci.pos_in_buffered_data) != zi->ci.pos_in_buffered_data)
1379 zi->ci.totalCompressedData += zi->ci.pos_in_buffered_data;
1382 if(zi->ci.method == Z_BZIP2ED)
1384 zi->ci.totalUncompressedData += zi->ci.bstream.total_in_lo32;
1385 zi->ci.bstream.total_in_lo32 = 0;
1386 zi->ci.bstream.total_in_hi32 = 0;
1391 zi->ci.totalUncompressedData += zi->ci.stream.total_in;
1392 zi->ci.stream.total_in = 0;
1396 zi->ci.pos_in_buffered_data = 0;
1403 zip64_internal* zi;
1408 zi = (zip64_internal*)file;
1410 if (zi->in_opened_file_inzip == 0)
1413 zi->ci.crc32 = crc32(zi->ci.crc32,buf,(uInt)len);
1416 if(zi->ci.method == Z_BZIP2ED && (!zi->ci.raw))
1418 zi->ci.bstream.next_in = (void*)buf;
1419 zi->ci.bstream.avail_in = len;
1422 while ((err==BZ_RUN_OK) && (zi->ci.bstream.avail_in>0))
1424 if (zi->ci.bstream.avail_out == 0)
1426 if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO)
1428 zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE;
1429 zi->ci.bstream.next_out = (char*)zi->ci.buffered_data;
1436 if ((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw))
1438 uLong uTotalOutBefore_lo = zi->ci.bstream.total_out_lo32;
1439 // uLong uTotalOutBefore_hi = zi->ci.bstream.total_out_hi32;
1440 err=BZ2_bzCompress(&zi->ci.bstream, BZ_RUN);
1442 zi->ci.pos_in_buffered_data += (uInt)(zi->ci.bstream.total_out_lo32 - uTotalOutBefore_lo) ;
1452 zi->ci.stream.next_in = (Bytef*)buf;
1453 zi->ci.stream.avail_in = len;
1455 while ((err==ZIP_OK) && (zi->ci.stream.avail_in>0))
1457 if (zi->ci.stream.avail_out == 0)
1459 if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO)
1461 zi->ci.stream.avail_out = (uInt)Z_BUFSIZE;
1462 zi->ci.stream.next_out = zi->ci.buffered_data;
1469 if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw))
1471 uLong uTotalOutBefore = zi->ci.stream.total_out;
1472 err=deflate(&zi->ci.stream, Z_NO_FLUSH);
1473 if(uTotalOutBefore > zi->ci.stream.total_out)
1479 zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ;
1484 if (zi->ci.stream.avail_in < zi->ci.stream.avail_out)
1485 copy_this = zi->ci.stream.avail_in;
1487 copy_this = zi->ci.stream.avail_out;
1490 *(((char*)zi->ci.stream.next_out)+i) =
1491 *(((const char*)zi->ci.stream.next_in)+i);
1493 zi->ci.stream.avail_in -= copy_this;
1494 zi->ci.stream.avail_out-= copy_this;
1495 zi->ci.stream.next_in+= copy_this;
1496 zi->ci.stream.next_out+= copy_this;
1497 zi->ci.stream.total_in+= copy_this;
1498 zi->ci.stream.total_out+= copy_this;
1499 zi->ci.pos_in_buffered_data += copy_this;
1515 zip64_internal* zi;
1523 zi = (zip64_internal*)file;
1525 if (zi->in_opened_file_inzip == 0)
1527 zi->ci.stream.avail_in = 0;
1529 if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw))
1534 if (zi->ci.stream.avail_out == 0)
1536 if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO)
1538 zi->ci.stream.avail_out = (uInt)Z_BUFSIZE;
1539 zi->ci.stream.next_out = zi->ci.buffered_data;
1541 uTotalOutBefore = zi->ci.stream.total_out;
1542 err=deflate(&zi->ci.stream, Z_FINISH);
1543 zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ;
1546 else if ((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw))
1553 if (zi->ci.bstream.avail_out == 0)
1555 if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO)
1557 zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE;
1558 zi->ci.bstream.next_out = (char*)zi->ci.buffered_data;
1560 uTotalOutBefore = zi->ci.bstream.total_out_lo32;
1561 err=BZ2_bzCompress(&zi->ci.bstream, BZ_FINISH);
1565 zi->ci.pos_in_buffered_data += (uInt)(zi->ci.bstream.total_out_lo32 - uTotalOutBefore);
1576 if ((zi->ci.pos_in_buffered_data>0) && (err==ZIP_OK))
1578 if (zip64FlushWriteBuffer(zi)==ZIP_ERRNO)
1582 if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw))
1584 int tmp_err = deflateEnd(&zi->ci.stream);
1587 zi->ci.stream_initialised = 0;
1590 else if((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw))
1592 int tmperr = BZ2_bzCompressEnd(&zi->ci.bstream);
1595 zi->ci.stream_initialised = 0;
1599 if (!zi->ci.raw)
1601 crc32 = (uLong)zi->ci.crc32;
1602 uncompressed_size = zi->ci.totalUncompressedData;
1604 compressed_size = zi->ci.totalCompressedData;
1607 compressed_size += zi->ci.crypt_header_size;
1611 if(compressed_size >= 0xffffffff || uncompressed_size >= 0xffffffff || zi->ci.pos_local_header >= 0xffffffff)
1614 zip64local_putValue_inmemory(zi->ci.central_header+4,(uLong)45,2);
1616 zip64local_putValue_inmemory(zi->ci.central_header+6,(uLong)45,2);
1620 zip64local_putValue_inmemory(zi->ci.central_header+16,crc32,4); /*crc*/
1624 zip64local_putValue_inmemory(zi->ci.central_header+20, invalidValue,4); /*compr size*/
1626 zip64local_putValue_inmemory(zi->ci.central_header+20, compressed_size,4); /*compr size*/
1629 if (zi->ci.stream.data_type == Z_ASCII)
1630 zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)Z_ASCII,2);
1633 zip64local_putValue_inmemory(zi->ci.central_header+24, invalidValue,4); /*uncompr size*/
1635 zip64local_putValue_inmemory(zi->ci.central_header+24, uncompressed_size,4); /*uncompr size*/
1646 if(zi->ci.pos_local_header >= 0xffffffff)
1653 if((uLong)(datasize + 4) > zi->ci.size_centralExtraFree)
1659 p = zi->ci.central_header + zi->ci.size_centralheader;
1679 if(zi->ci.pos_local_header >= 0xffffffff)
1681 zip64local_putValue_inmemory(p, zi->ci.pos_local_header, 8);
1688 zi->ci.size_centralExtraFree -= datasize + 4;
1689 zi->ci.size_centralheader += datasize + 4;
1692 zi->ci.size_centralExtra += datasize + 4;
1693 zip64local_putValue_inmemory(zi->ci.central_header+30,(uLong)zi->ci.size_centralExtra,2);
1697 err = add_data_in_datablock(&zi->central_dir, zi->ci.central_header, (uLong)zi->ci.size_centralheader);
1699 free(zi->ci.central_header);
1705 ZPOS64_T cur_pos_inzip = ZTELL64(zi->z_filefunc,zi->filestream);
1707 if (ZSEEK64(zi->z_filefunc,zi->filestream, zi->ci.pos_local_header + 14,ZLIB_FILEFUNC_SEEK_SET)!=0)
1711 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,crc32,4); /* crc 32, unknown */
1715 if(zi->ci.pos_zip64extrainfo > 0)
1718 if (ZSEEK64(zi->z_filefunc,zi->filestream, zi->ci.pos_zip64extrainfo + 4,ZLIB_FILEFUNC_SEEK_SET)!=0)
1722 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, uncompressed_size, 8);
1725 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, compressed_size, 8);
1731 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,compressed_size,4);
1734 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,uncompressed_size,4);
1737 if (ZSEEK64(zi->z_filefunc,zi->filestream, cur_pos_inzip,ZLIB_FILEFUNC_SEEK_SET)!=0)
1741 zi->number_entry ++;
1742 zi->in_opened_file_inzip = 0;
1752 int Write_Zip64EndOfCentralDirectoryLocator(zip64_internal* zi, ZPOS64_T zip64eocd_pos_inzip)
1755 ZPOS64_T pos = zip64eocd_pos_inzip - zi->add_position_when_writting_offset;
1757 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ZIP64ENDLOCHEADERMAGIC,4);
1761 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4);
1765 err = zip64local_putValue(&zi->z_filefunc,zi->filestream, pos,8);
1769 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)1,4);
1774 int Write_Zip64EndOfCentralDirectoryRecord(zip64_internal* zi, uLong size_centraldir, ZPOS64_T centraldir_pos_inzip)
1780 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ZIP64ENDHEADERMAGIC,4);
1783 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(ZPOS64_T)Zip64DataSize,8); // why ZPOS64_T of this ?
1786 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)45,2);
1789 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)45,2);
1792 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4);
1795 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4);
1798 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, zi->number_entry, 8);
1801 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, zi->number_entry, 8);
1804 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(ZPOS64_T)size_centraldir,8);
1808 ZPOS64_T pos = centraldir_pos_inzip - zi->add_position_when_writting_offset;
1809 err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (ZPOS64_T)pos,8);
1813 int Write_EndOfCentralDirectoryRecord(zip64_internal* zi, uLong size_centraldir, ZPOS64_T centraldir_pos_inzip)
1818 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ENDHEADERMAGIC,4);
1821 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,2);
1824 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,2);
1829 if(zi->number_entry >= 0xFFFF)
1830 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xffff,2); // use value in ZIP64 record
1832 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->number_entry,2);
1838 if(zi->number_entry >= 0xFFFF)
1839 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xffff,2); // use value in ZIP64 record
1841 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->number_entry,2);
1845 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_centraldir,4);
1849 ZPOS64_T pos = centraldir_pos_inzip - zi->add_position_when_writting_offset;
1852 err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (uLong)0xffffffff,4);
1855 err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (uLong)(centraldir_pos_inzip - zi->add_position_when_writting_offset),4);
1861 int Write_GlobalComment(zip64_internal* zi, const char* global_comment)
1869 err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_global_comment,2);
1873 if (ZWRITE64(zi->z_filefunc,zi->filestream, global_comment, size_global_comment) != size_global_comment)
1881 zip64_internal* zi;
1890 zi = (zip64_internal*)file;
1892 if (zi->in_opened_file_inzip == 1)
1899 global_comment = zi->globalcomment;
1902 centraldir_pos_inzip = ZTELL64(zi->z_filefunc,zi->filestream);
1906 linkedlist_datablock_internal* ldi = zi->central_dir.first_block;
1911 if (ZWRITE64(zi->z_filefunc,zi->filestream, ldi->data, ldi->filled_in_this_block) != ldi->filled_in_this_block)
1919 free_linkedlist(&(zi->central_dir));
1921 pos = centraldir_pos_inzip - zi->add_position_when_writting_offset;
1924 ZPOS64_T Zip64EOCDpos = ZTELL64(zi->z_filefunc,zi->filestream);
1925 Write_Zip64EndOfCentralDirectoryRecord(zi, size_centraldir, centraldir_pos_inzip);
1927 Write_Zip64EndOfCentralDirectoryLocator(zi, Zip64EOCDpos);
1931 err = Write_EndOfCentralDirectoryRecord(zi, size_centraldir, centraldir_pos_inzip);
1934 err = Write_GlobalComment(zi, global_comment);
1936 if (ZCLOSE64(zi->z_filefunc,zi->filestream) != 0)
1941 TRYFREE(zi->globalcomment);
1943 TRYFREE(zi);