Lines Matching refs:zi

455     zip64_internal* zi;  in zipGetDiskSizeAvailable()  local
458 zi = (zip64_internal*)file; in zipGetDiskSizeAvailable()
459 ZSEEK64(zi->z_filefunc, zi->filestream, 0, ZLIB_FILEFUNC_SEEK_END); in zipGetDiskSizeAvailable()
460 current_disk_size = ZTELL64(zi->z_filefunc, zi->filestream); in zipGetDiskSizeAvailable()
461 *size_available = zi->disk_size - current_disk_size; in zipGetDiskSizeAvailable()
469 zip64_internal* zi; in zipGoToSpecificDisk() local
472 zi = (zip64_internal*)file; in zipGoToSpecificDisk()
473 if (zi->disk_size == 0) in zipGoToSpecificDisk()
476 if ((zi->filestream != NULL) && (zi->filestream != zi->filestream_with_CD)) in zipGoToSpecificDisk()
477 ZCLOSE64(zi->z_filefunc, zi->filestream); in zipGoToSpecificDisk()
479zi->filestream = ZOPENDISK64(zi->z_filefunc, zi->filestream_with_CD, number_disk, (open_existing =… in zipGoToSpecificDisk()
483 if (zi->filestream == NULL) in zipGoToSpecificDisk()
493 zip64_internal* zi; in zipGoToFirstDisk() local
497 zi = (zip64_internal*)file; in zipGoToFirstDisk()
499 if (zi->disk_size == 0) in zipGoToFirstDisk()
502 if (zi->number_disk_with_CD > 0) in zipGoToFirstDisk()
503 number_disk_next = zi->number_disk_with_CD - 1; in zipGoToFirstDisk()
504 err = zipGoToSpecificDisk(file, number_disk_next, (zi->append == APPEND_STATUS_ADDINZIP)); in zipGoToFirstDisk()
505 if ((err == ZIP_ERRNO) && (zi->append == APPEND_STATUS_ADDINZIP)) in zipGoToFirstDisk()
508 zi->number_disk = number_disk_next; in zipGoToFirstDisk()
509 ZSEEK64(zi->z_filefunc, zi->filestream, 0, ZLIB_FILEFUNC_SEEK_END); in zipGoToFirstDisk()
517 zip64_internal* zi; in zipGoToNextDisk() local
522 zi = (zip64_internal*)file; in zipGoToNextDisk()
524 if (zi->disk_size == 0) in zipGoToNextDisk()
527 number_disk_next = zi->number_disk + 1; in zipGoToNextDisk()
531 err = zipGoToSpecificDisk(file, number_disk_next, (zi->append == APPEND_STATUS_ADDINZIP)); in zipGoToNextDisk()
532 if ((err == ZIP_ERRNO) && (zi->append == APPEND_STATUS_ADDINZIP)) in zipGoToNextDisk()
539 zi->number_disk = number_disk_next; in zipGoToNextDisk()
540 zi->number_disk_with_CD = zi->number_disk + 1; in zipGoToNextDisk()
653 zip64_internal* zi; in zipOpen4() local
707 zi = (zip64_internal*)ALLOC(sizeof(zip64_internal)); in zipOpen4()
708 if (zi == NULL) in zipOpen4()
827 TRYFREE(zi); in zipOpen4()
886 TRYFREE(zi); in zipOpen4()
890 *zi = ziinit; in zipOpen4()
891 zipGoToFirstDisk((zipFile)zi); in zipOpen4()
892 return(zipFile)zi; in zipOpen4()
962 zip64_internal* zi; in zipOpenNewFileInZip4_64() local
986 zi = (zip64_internal*)file; in zipOpenNewFileInZip4_64()
988 if (zi->in_opened_file_inzip == 1) in zipOpenNewFileInZip4_64()
1003 zi->ci.dosDate = 0; in zipOpenNewFileInZip4_64()
1007 zi->ci.dosDate = zipfi->dosDate; in zipOpenNewFileInZip4_64()
1009 zi->ci.dosDate = zip64local_TmzDateToDosDate(&zipfi->tmz_date); in zipOpenNewFileInZip4_64()
1012 zi->ci.method = method; in zipOpenNewFileInZip4_64()
1013 zi->ci.compression_method = method; in zipOpenNewFileInZip4_64()
1014 zi->ci.crc32 = 0; in zipOpenNewFileInZip4_64()
1015 zi->ci.stream_initialised = 0; in zipOpenNewFileInZip4_64()
1016 zi->ci.pos_in_buffered_data = 0; in zipOpenNewFileInZip4_64()
1017 zi->ci.raw = raw; in zipOpenNewFileInZip4_64()
1018 zi->ci.flag = flagBase; in zipOpenNewFileInZip4_64()
1020 zi->ci.flag |= 2; in zipOpenNewFileInZip4_64()
1022 zi->ci.flag |= 4; in zipOpenNewFileInZip4_64()
1024 zi->ci.flag |= 6; in zipOpenNewFileInZip4_64()
1027 zi->ci.flag |= 1; in zipOpenNewFileInZip4_64()
1029 zi->ci.method = AES_METHOD; in zipOpenNewFileInZip4_64()
1033 if (zi->disk_size > 0) in zipOpenNewFileInZip4_64()
1035 if ((zi->number_disk == 0) && (zi->number_entry == 0)) in zipOpenNewFileInZip4_64()
1036 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)DISKHEADERMAGIC, 4); in zipOpenNewFileInZip4_64()
1039 zipGetDiskSizeAvailable((zipFile)zi, &size_available); in zipOpenNewFileInZip4_64()
1041 if (zi->ci.zip64) in zipOpenNewFileInZip4_64()
1044 if (zi->ci.method == AES_METHOD) in zipOpenNewFileInZip4_64()
1048 zipGoToNextDisk((zipFile)zi); in zipOpenNewFileInZip4_64()
1051 zi->ci.pos_local_header = ZTELL64(zi->z_filefunc, zi->filestream); in zipOpenNewFileInZip4_64()
1052 zi->ci.size_comment = size_comment; in zipOpenNewFileInZip4_64()
1053 zi->ci.size_centralheader = SIZECENTRALHEADER + size_filename + size_extrafield_global; in zipOpenNewFileInZip4_64()
1054 zi->ci.size_centralextra = size_extrafield_global; in zipOpenNewFileInZip4_64()
1055 zi->ci.size_centralextrafree = 32; /* Extra space reserved for ZIP64 extra info */ in zipOpenNewFileInZip4_64()
1057 if (zi->ci.method == AES_METHOD) in zipOpenNewFileInZip4_64()
1058 zi->ci.size_centralextrafree += 11; /* Extra space reserved for AES extra info */ in zipOpenNewFileInZip4_64()
1060zi->ci.central_header = (char*)ALLOC((uInt)zi->ci.size_centralheader + zi->ci.size_centralextrafre… in zipOpenNewFileInZip4_64()
1061 zi->ci.number_disk = zi->number_disk; in zipOpenNewFileInZip4_64()
1064 zip64local_putValue_inmemory(zi->ci.central_header, (uLong)CENTRALHEADERMAGIC, 4); in zipOpenNewFileInZip4_64()
1065 zip64local_putValue_inmemory(zi->ci.central_header+4, (uLong)versionMadeBy, 2); in zipOpenNewFileInZip4_64()
1066 zip64local_putValue_inmemory(zi->ci.central_header+6, (uLong)20, 2); in zipOpenNewFileInZip4_64()
1067 zip64local_putValue_inmemory(zi->ci.central_header+8, (uLong)zi->ci.flag, 2); in zipOpenNewFileInZip4_64()
1068 zip64local_putValue_inmemory(zi->ci.central_header+10, (uLong)zi->ci.method, 2); in zipOpenNewFileInZip4_64()
1069 zip64local_putValue_inmemory(zi->ci.central_header+12, (uLong)zi->ci.dosDate, 4); in zipOpenNewFileInZip4_64()
1070 zip64local_putValue_inmemory(zi->ci.central_header+16, (uLong)0, 4); /*crc*/ in zipOpenNewFileInZip4_64()
1071 zip64local_putValue_inmemory(zi->ci.central_header+20, (uLong)0, 4); /*compr size*/ in zipOpenNewFileInZip4_64()
1072 zip64local_putValue_inmemory(zi->ci.central_header+24, (uLong)0, 4); /*uncompr size*/ in zipOpenNewFileInZip4_64()
1073 zip64local_putValue_inmemory(zi->ci.central_header+28, (uLong)size_filename, 2); in zipOpenNewFileInZip4_64()
1074 zip64local_putValue_inmemory(zi->ci.central_header+30, (uLong)size_extrafield_global, 2); in zipOpenNewFileInZip4_64()
1075 zip64local_putValue_inmemory(zi->ci.central_header+32, (uLong)size_comment, 2); in zipOpenNewFileInZip4_64()
1076 …zip64local_putValue_inmemory(zi->ci.central_header+34, (uLong)zi->ci.number_disk, 2); /*disk nm st… in zipOpenNewFileInZip4_64()
1079 zip64local_putValue_inmemory(zi->ci.central_header+36, (uLong)0, 2); in zipOpenNewFileInZip4_64()
1081 zip64local_putValue_inmemory(zi->ci.central_header+36, (uLong)zipfi->internal_fa, 2); in zipOpenNewFileInZip4_64()
1083 zip64local_putValue_inmemory(zi->ci.central_header+38, (uLong)0, 4); in zipOpenNewFileInZip4_64()
1085 zip64local_putValue_inmemory(zi->ci.central_header+38, (uLong)zipfi->external_fa, 4); in zipOpenNewFileInZip4_64()
1086 if (zi->ci.pos_local_header >= 0xffffffff) in zipOpenNewFileInZip4_64()
1087 zip64local_putValue_inmemory(zi->ci.central_header+42, (uLong)0xffffffff, 4); in zipOpenNewFileInZip4_64()
1089 zip64local_putValue_inmemory(zi->ci.central_header+42, in zipOpenNewFileInZip4_64()
1090 (uLong)zi->ci.pos_local_header - zi->add_position_when_writting_offset, 4); in zipOpenNewFileInZip4_64()
1093 zi->ci.central_header[SIZECENTRALHEADER+i] = filename[i]; in zipOpenNewFileInZip4_64()
1095 zi->ci.central_header[SIZECENTRALHEADER+size_filename+i] = in zipOpenNewFileInZip4_64()
1099 zi->ci.central_header[zi->ci.size_centralheader+ in zipOpenNewFileInZip4_64()
1100 zi->ci.size_centralextrafree+i] = comment[i]; in zipOpenNewFileInZip4_64()
1102 if (zi->ci.central_header == NULL) in zipOpenNewFileInZip4_64()
1105 zi->ci.zip64 = zip64; in zipOpenNewFileInZip4_64()
1106 zi->ci.total_compressed = 0; in zipOpenNewFileInZip4_64()
1107 zi->ci.total_uncompressed = 0; in zipOpenNewFileInZip4_64()
1108 zi->ci.pos_zip64extrainfo = 0; in zipOpenNewFileInZip4_64()
1111 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)LOCALHEADERMAGIC, 4); in zipOpenNewFileInZip4_64()
1115 if (zi->ci.zip64) in zipOpenNewFileInZip4_64()
1116 …err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)45, 2); /* version needed to ext… in zipOpenNewFileInZip4_64()
1118 …err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)20, 2); /* version needed to ext… in zipOpenNewFileInZip4_64()
1121 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)zi->ci.flag, 2); in zipOpenNewFileInZip4_64()
1123 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)zi->ci.method, 2); in zipOpenNewFileInZip4_64()
1125 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)zi->ci.dosDate, 4); in zipOpenNewFileInZip4_64()
1130 … err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)0, 4); /* crc 32, unknown */ in zipOpenNewFileInZip4_64()
1133 if (zi->ci.zip64) in zipOpenNewFileInZip4_64()
1134 …err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)0xFFFFFFFF, 4); /* compressed si… in zipOpenNewFileInZip4_64()
1136 …err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)0, 4); /* compressed size, unkno… in zipOpenNewFileInZip4_64()
1140 if (zi->ci.zip64) /* uncompressed size, unknown */ in zipOpenNewFileInZip4_64()
1141 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)0xFFFFFFFF, 4); in zipOpenNewFileInZip4_64()
1143 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)0, 4); in zipOpenNewFileInZip4_64()
1146 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)size_filename, 2); in zipOpenNewFileInZip4_64()
1150 if (zi->ci.zip64) in zipOpenNewFileInZip4_64()
1153 if (zi->ci.method == AES_METHOD) in zipOpenNewFileInZip4_64()
1156 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)size_extrafield,2); in zipOpenNewFileInZip4_64()
1160 if (ZWRITE64(zi->z_filefunc, zi->filestream, filename, size_filename) != size_filename) in zipOpenNewFileInZip4_64()
1165 …if (ZWRITE64(zi->z_filefunc, zi->filestream, extrafield_local, size_extrafield_local) != size_extr… in zipOpenNewFileInZip4_64()
1170 if ((err == ZIP_OK) && (zi->ci.zip64)) in zipOpenNewFileInZip4_64()
1179 zi->ci.pos_zip64extrainfo = ZTELL64(zi->z_filefunc, zi->filestream); in zipOpenNewFileInZip4_64()
1181 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (short)headerid, 2); in zipOpenNewFileInZip4_64()
1182 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (short)datasize, 2); in zipOpenNewFileInZip4_64()
1184 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)uncompressed_size, 8); in zipOpenNewFileInZip4_64()
1185 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)compressed_size, 8); in zipOpenNewFileInZip4_64()
1189 if ((err == ZIP_OK) && (zi->ci.method == AES_METHOD)) in zipOpenNewFileInZip4_64()
1194 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, headerid, 2); in zipOpenNewFileInZip4_64()
1195 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, datasize, 2); in zipOpenNewFileInZip4_64()
1197 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, AES_VERSION, 2); in zipOpenNewFileInZip4_64()
1198 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, 'A', 1); in zipOpenNewFileInZip4_64()
1199 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, 'E', 1); in zipOpenNewFileInZip4_64()
1200 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, AES_ENCRYPTIONMODE, 1); in zipOpenNewFileInZip4_64()
1201 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, zi->ci.compression_method, 2); in zipOpenNewFileInZip4_64()
1206 zi->ci.bstream.avail_in = (uInt)0; in zipOpenNewFileInZip4_64()
1207 zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE; in zipOpenNewFileInZip4_64()
1208 zi->ci.bstream.next_out = (char*)zi->ci.buffered_data; in zipOpenNewFileInZip4_64()
1209 zi->ci.bstream.total_in_hi32 = 0; in zipOpenNewFileInZip4_64()
1210 zi->ci.bstream.total_in_lo32 = 0; in zipOpenNewFileInZip4_64()
1211 zi->ci.bstream.total_out_hi32 = 0; in zipOpenNewFileInZip4_64()
1212 zi->ci.bstream.total_out_lo32 = 0; in zipOpenNewFileInZip4_64()
1215 zi->ci.stream.avail_in = (uInt)0; in zipOpenNewFileInZip4_64()
1216 zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; in zipOpenNewFileInZip4_64()
1217 zi->ci.stream.next_out = zi->ci.buffered_data; in zipOpenNewFileInZip4_64()
1218 zi->ci.stream.total_in = 0; in zipOpenNewFileInZip4_64()
1219 zi->ci.stream.total_out = 0; in zipOpenNewFileInZip4_64()
1220 zi->ci.stream.data_type = Z_BINARY; in zipOpenNewFileInZip4_64()
1222 if ((err == ZIP_OK) && (!zi->ci.raw)) in zipOpenNewFileInZip4_64()
1226 zi->ci.stream.zalloc = (alloc_func)0; in zipOpenNewFileInZip4_64()
1227 zi->ci.stream.zfree = (free_func)0; in zipOpenNewFileInZip4_64()
1228 zi->ci.stream.opaque = (voidpf)zi; in zipOpenNewFileInZip4_64()
1233 err = deflateInit2(&zi->ci.stream, level, Z_DEFLATED, windowBits, memLevel, strategy); in zipOpenNewFileInZip4_64()
1236 zi->ci.stream_initialised = Z_DEFLATED; in zipOpenNewFileInZip4_64()
1241 zi->ci.bstream.bzalloc = 0; in zipOpenNewFileInZip4_64()
1242 zi->ci.bstream.bzfree = 0; in zipOpenNewFileInZip4_64()
1243 zi->ci.bstream.opaque = (voidpf)0; in zipOpenNewFileInZip4_64()
1245 err = BZ2_bzCompressInit(&zi->ci.bstream, level, 0, 35); in zipOpenNewFileInZip4_64()
1247 zi->ci.stream_initialised = Z_BZIP2ED; in zipOpenNewFileInZip4_64()
1253 zi->ci.crypt_header_size = 0; in zipOpenNewFileInZip4_64()
1254 if ((err == Z_OK) && ((zi->ci.flag & 1) != 0)) in zipOpenNewFileInZip4_64()
1257 if (zi->ci.method == AES_METHOD) in zipOpenNewFileInZip4_64()
1268 prng_init(entropy_fun, zi->ci.aes_rng); in zipOpenNewFileInZip4_64()
1269 prng_rand(saltvalue, saltlength, zi->ci.aes_rng); in zipOpenNewFileInZip4_64()
1270 prng_end(zi->ci.aes_rng); in zipOpenNewFileInZip4_64()
1272 …fcrypt_init(AES_ENCRYPTIONMODE, password, strlen(password), saltvalue, passverify, &zi->ci.aes_ctx… in zipOpenNewFileInZip4_64()
1274 if (ZWRITE64(zi->z_filefunc, zi->filestream, saltvalue, saltlength) != saltlength) in zipOpenNewFileInZip4_64()
1276 … if (ZWRITE64(zi->z_filefunc, zi->filestream, passverify, AES_PWVERIFYSIZE) != AES_PWVERIFYSIZE) in zipOpenNewFileInZip4_64()
1279 zi->ci.crypt_header_size = saltlength + AES_PWVERIFYSIZE + AES_AUTHCODESIZE; in zipOpenNewFileInZip4_64()
1287 zi->ci.pcrc_32_tab = (const unsigned long *)get_crc_table(); in zipOpenNewFileInZip4_64()
1290 …sizeHead = crypthead(password, bufHead, RAND_HEAD_LEN, zi->ci.keys, zi->ci.pcrc_32_tab, crcForCryp… in zipOpenNewFileInZip4_64()
1291 zi->ci.crypt_header_size = sizeHead; in zipOpenNewFileInZip4_64()
1293 if (ZWRITE64(zi->z_filefunc, zi->filestream, bufHead, sizeHead) != sizeHead) in zipOpenNewFileInZip4_64()
1300 zi->in_opened_file_inzip = 1; in zipOpenNewFileInZip4_64()
1371 local int zip64FlushWriteBuffer OF((zip64_internal* zi));
1372 local int zip64FlushWriteBuffer(zip64_internal* zi) in zip64FlushWriteBuffer() argument
1381 if ((zi->ci.flag & 1) != 0) in zip64FlushWriteBuffer()
1385 if (zi->ci.method == AES_METHOD) in zip64FlushWriteBuffer()
1387 fcrypt_encrypt(zi->ci.buffered_data, zi->ci.pos_in_buffered_data, &zi->ci.aes_ctx); in zip64FlushWriteBuffer()
1394 for (i = 0;i < zi->ci.pos_in_buffered_data; i++) in zip64FlushWriteBuffer()
1395zi->ci.buffered_data[i] = zencode(zi->ci.keys, zi->ci.pcrc_32_tab, zi->ci.buffered_data[i],t); in zip64FlushWriteBuffer()
1400 write = zi->ci.pos_in_buffered_data; in zip64FlushWriteBuffer()
1406 if (zi->disk_size > 0) in zip64FlushWriteBuffer()
1408 err = zipGetDiskSizeAvailable((zipFile)zi, &size_available); in zip64FlushWriteBuffer()
1414 err = zipGoToNextDisk((zipFile)zi); in zip64FlushWriteBuffer()
1423 …written = ZWRITE64(zi->z_filefunc, zi->filestream, zi->ci.buffered_data + total_written, max_write… in zip64FlushWriteBuffer()
1425 if (ZERROR64(zi->z_filefunc, zi->filestream)) in zip64FlushWriteBuffer()
1436 zi->ci.total_compressed += zi->ci.pos_in_buffered_data; in zip64FlushWriteBuffer()
1439 if (zi->ci.compression_method == Z_BZIP2ED) in zip64FlushWriteBuffer()
1441 zi->ci.total_uncompressed += zi->ci.bstream.total_in_lo32; in zip64FlushWriteBuffer()
1442 zi->ci.bstream.total_in_lo32 = 0; in zip64FlushWriteBuffer()
1443 zi->ci.bstream.total_in_hi32 = 0; in zip64FlushWriteBuffer()
1448 zi->ci.total_uncompressed += zi->ci.stream.total_in; in zip64FlushWriteBuffer()
1449 zi->ci.stream.total_in = 0; in zip64FlushWriteBuffer()
1452 zi->ci.pos_in_buffered_data = 0; in zip64FlushWriteBuffer()
1459 zip64_internal* zi; in zipWriteInFileInZip() local
1464 zi = (zip64_internal*)file; in zipWriteInFileInZip()
1466 if (zi->in_opened_file_inzip == 0) in zipWriteInFileInZip()
1469 zi->ci.crc32 = crc32(zi->ci.crc32, buf, (uInt)len); in zipWriteInFileInZip()
1472 if ((zi->ci.compression_method == Z_BZIP2ED) && (!zi->ci.raw)) in zipWriteInFileInZip()
1474 zi->ci.bstream.next_in = (void*)buf; in zipWriteInFileInZip()
1475 zi->ci.bstream.avail_in = len; in zipWriteInFileInZip()
1478 while ((err == BZ_RUN_OK) && (zi->ci.bstream.avail_in > 0)) in zipWriteInFileInZip()
1480 if (zi->ci.bstream.avail_out == 0) in zipWriteInFileInZip()
1482 if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) in zipWriteInFileInZip()
1484 zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE; in zipWriteInFileInZip()
1485 zi->ci.bstream.next_out = (char*)zi->ci.buffered_data; in zipWriteInFileInZip()
1489 uLong uTotalOutBefore_lo = zi->ci.bstream.total_out_lo32; in zipWriteInFileInZip()
1490 uLong uTotalOutBefore_hi = zi->ci.bstream.total_out_hi32; in zipWriteInFileInZip()
1492 err = BZ2_bzCompress(&zi->ci.bstream, BZ_RUN); in zipWriteInFileInZip()
1494zi->ci.pos_in_buffered_data += (uInt)(zi->ci.bstream.total_out_lo32 - uTotalOutBefore_lo); in zipWriteInFileInZip()
1504 zi->ci.stream.next_in = (Bytef*)buf; in zipWriteInFileInZip()
1505 zi->ci.stream.avail_in = len; in zipWriteInFileInZip()
1507 while ((err == ZIP_OK) && (zi->ci.stream.avail_in > 0)) in zipWriteInFileInZip()
1509 if (zi->ci.stream.avail_out == 0) in zipWriteInFileInZip()
1511 if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) in zipWriteInFileInZip()
1513 zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; in zipWriteInFileInZip()
1514 zi->ci.stream.next_out = zi->ci.buffered_data; in zipWriteInFileInZip()
1520 if ((zi->ci.compression_method == Z_DEFLATED) && (!zi->ci.raw)) in zipWriteInFileInZip()
1522 uLong total_out_before = zi->ci.stream.total_out; in zipWriteInFileInZip()
1523 err = deflate(&zi->ci.stream, Z_NO_FLUSH); in zipWriteInFileInZip()
1524 zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - total_out_before); in zipWriteInFileInZip()
1529 if (zi->ci.stream.avail_in < zi->ci.stream.avail_out) in zipWriteInFileInZip()
1530 copy_this = zi->ci.stream.avail_in; in zipWriteInFileInZip()
1532 copy_this = zi->ci.stream.avail_out; in zipWriteInFileInZip()
1535 *(((char*)zi->ci.stream.next_out)+i) = in zipWriteInFileInZip()
1536 *(((const char*)zi->ci.stream.next_in)+i); in zipWriteInFileInZip()
1538 zi->ci.stream.avail_in -= copy_this; in zipWriteInFileInZip()
1539 zi->ci.stream.avail_out -= copy_this; in zipWriteInFileInZip()
1540 zi->ci.stream.next_in += copy_this; in zipWriteInFileInZip()
1541 zi->ci.stream.next_out += copy_this; in zipWriteInFileInZip()
1542 zi->ci.stream.total_in += copy_this; in zipWriteInFileInZip()
1543 zi->ci.stream.total_out += copy_this; in zipWriteInFileInZip()
1544 zi->ci.pos_in_buffered_data += copy_this; in zipWriteInFileInZip()
1559 zip64_internal* zi; in zipCloseFileInZipRaw64() local
1568 zi = (zip64_internal*)file; in zipCloseFileInZipRaw64()
1570 if (zi->in_opened_file_inzip == 0) in zipCloseFileInZipRaw64()
1572 zi->ci.stream.avail_in = 0; in zipCloseFileInZipRaw64()
1574 if (!zi->ci.raw) in zipCloseFileInZipRaw64()
1576 if (zi->ci.compression_method == Z_DEFLATED) in zipCloseFileInZipRaw64()
1581 if (zi->ci.stream.avail_out == 0) in zipCloseFileInZipRaw64()
1583 if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) in zipCloseFileInZipRaw64()
1585 zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; in zipCloseFileInZipRaw64()
1586 zi->ci.stream.next_out = zi->ci.buffered_data; in zipCloseFileInZipRaw64()
1588 total_out_before = zi->ci.stream.total_out; in zipCloseFileInZipRaw64()
1589 err = deflate(&zi->ci.stream, Z_FINISH); in zipCloseFileInZipRaw64()
1590 zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - total_out_before); in zipCloseFileInZipRaw64()
1593 else if (zi->ci.compression_method == Z_BZIP2ED) in zipCloseFileInZipRaw64()
1600 if (zi->ci.bstream.avail_out == 0) in zipCloseFileInZipRaw64()
1602 if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) in zipCloseFileInZipRaw64()
1604 zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE; in zipCloseFileInZipRaw64()
1605 zi->ci.bstream.next_out = (char*)zi->ci.buffered_data; in zipCloseFileInZipRaw64()
1607 total_out_before = zi->ci.bstream.total_out_lo32; in zipCloseFileInZipRaw64()
1608 err = BZ2_bzCompress(&zi->ci.bstream, BZ_FINISH); in zipCloseFileInZipRaw64()
1611zi->ci.pos_in_buffered_data += (uInt)(zi->ci.bstream.total_out_lo32 - total_out_before); in zipCloseFileInZipRaw64()
1623 if ((zi->ci.pos_in_buffered_data>0) && (err == ZIP_OK)) in zipCloseFileInZipRaw64()
1625 if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) in zipCloseFileInZipRaw64()
1630 if (zi->ci.method == AES_METHOD) in zipCloseFileInZipRaw64()
1634 fcrypt_end(authcode, &zi->ci.aes_ctx); in zipCloseFileInZipRaw64()
1636 … if (ZWRITE64(zi->z_filefunc, zi->filestream, authcode, AES_AUTHCODESIZE) != AES_AUTHCODESIZE) in zipCloseFileInZipRaw64()
1641 if (!zi->ci.raw) in zipCloseFileInZipRaw64()
1643 if (zi->ci.compression_method == Z_DEFLATED) in zipCloseFileInZipRaw64()
1645 int tmp_err = deflateEnd(&zi->ci.stream); in zipCloseFileInZipRaw64()
1648 zi->ci.stream_initialised = 0; in zipCloseFileInZipRaw64()
1651 else if (zi->ci.compression_method == Z_BZIP2ED) in zipCloseFileInZipRaw64()
1653 int tmperr = BZ2_bzCompressEnd(&zi->ci.bstream); in zipCloseFileInZipRaw64()
1656 zi->ci.stream_initialised = 0; in zipCloseFileInZipRaw64()
1660 crc32 = (uLong)zi->ci.crc32; in zipCloseFileInZipRaw64()
1661 uncompressed_size = zi->ci.total_uncompressed; in zipCloseFileInZipRaw64()
1664 compressed_size = zi->ci.total_compressed; in zipCloseFileInZipRaw64()
1666 compressed_size += zi->ci.crypt_header_size; in zipCloseFileInZipRaw64()
1670 …if (compressed_size >= 0xffffffff || uncompressed_size >= 0xffffffff || zi->ci.pos_local_header >=… in zipCloseFileInZipRaw64()
1672 zip64local_putValue_inmemory(zi->ci.central_header+4, (uLong)45, 2); /* version made by */ in zipCloseFileInZipRaw64()
1673 zip64local_putValue_inmemory(zi->ci.central_header+6, (uLong)45, 2); /* version needed */ in zipCloseFileInZipRaw64()
1675 zip64local_putValue_inmemory(zi->ci.central_header+16, crc32, 4); /* crc */ in zipCloseFileInZipRaw64()
1677 zip64local_putValue_inmemory(zi->ci.central_header+20, invalidValue, 4); /* compr size */ in zipCloseFileInZipRaw64()
1679 zip64local_putValue_inmemory(zi->ci.central_header+20, compressed_size, 4); /* compr size */ in zipCloseFileInZipRaw64()
1680 if (zi->ci.stream.data_type == Z_ASCII) in zipCloseFileInZipRaw64()
1681 …zip64local_putValue_inmemory(zi->ci.central_header+36, (uLong)Z_ASCII, 2); /* internal file attrib… in zipCloseFileInZipRaw64()
1683 zip64local_putValue_inmemory(zi->ci.central_header+24, invalidValue, 4); /* uncompr size */ in zipCloseFileInZipRaw64()
1685 … zip64local_putValue_inmemory(zi->ci.central_header+24, uncompressed_size, 4); /* uncompr size */ in zipCloseFileInZipRaw64()
1694 if (zi->ci.pos_local_header >= 0xffffffff) in zipCloseFileInZipRaw64()
1700 char* p = zi->ci.central_header + zi->ci.size_centralheader; in zipCloseFileInZipRaw64()
1702 if ((uLong)(datasize + 4) > zi->ci.size_centralextrafree) in zipCloseFileInZipRaw64()
1720 if (zi->ci.pos_local_header >= 0xffffffff) in zipCloseFileInZipRaw64()
1722 zip64local_putValue_inmemory(p, zi->ci.pos_local_header, 8); in zipCloseFileInZipRaw64()
1726 zi->ci.size_centralextrafree -= datasize + 4; in zipCloseFileInZipRaw64()
1727 zi->ci.size_centralheader += datasize + 4; in zipCloseFileInZipRaw64()
1728 zi->ci.size_centralextra += datasize + 4; in zipCloseFileInZipRaw64()
1730 zip64local_putValue_inmemory(zi->ci.central_header+30, (uLong)zi->ci.size_centralextra, 2); in zipCloseFileInZipRaw64()
1735 if (zi->ci.method == AES_METHOD) in zipCloseFileInZipRaw64()
1737 char* p = zi->ci.central_header + zi->ci.size_centralheader; in zipCloseFileInZipRaw64()
1741 if ((uLong)(datasize + 4) > zi->ci.size_centralextrafree) in zipCloseFileInZipRaw64()
1756 zip64local_putValue_inmemory(p, zi->ci.compression_method, 2); in zipCloseFileInZipRaw64()
1759 zi->ci.size_centralextrafree -= datasize + 4; in zipCloseFileInZipRaw64()
1760 zi->ci.size_centralheader += datasize + 4; in zipCloseFileInZipRaw64()
1761 zi->ci.size_centralextra += datasize + 4; in zipCloseFileInZipRaw64()
1763 zip64local_putValue_inmemory(zi->ci.central_header+30, (uLong)zi->ci.size_centralextra, 2); in zipCloseFileInZipRaw64()
1767 for (i = 0; i < zi->ci.size_comment; i++) in zipCloseFileInZipRaw64()
1768 zi->ci.central_header[zi->ci.size_centralheader+i] = in zipCloseFileInZipRaw64()
1769 zi->ci.central_header[zi->ci.size_centralheader+zi->ci.size_centralextrafree+i]; in zipCloseFileInZipRaw64()
1770 zi->ci.size_centralheader += zi->ci.size_comment; in zipCloseFileInZipRaw64()
1773 …err = add_data_in_datablock(&zi->central_dir, zi->ci.central_header, (uLong)zi->ci.size_centralhea… in zipCloseFileInZipRaw64()
1775 free(zi->ci.central_header); in zipCloseFileInZipRaw64()
1780 ZPOS64_T cur_pos_inzip = ZTELL64(zi->z_filefunc, zi->filestream); in zipCloseFileInZipRaw64()
1781 uLong cur_number_disk = zi->number_disk; in zipCloseFileInZipRaw64()
1784 if (zi->ci.number_disk != cur_number_disk) in zipCloseFileInZipRaw64()
1785 err = zipGoToSpecificDisk(file, zi->ci.number_disk, 1); in zipCloseFileInZipRaw64()
1787 …if (ZSEEK64(zi->z_filefunc, zi->filestream, zi->ci.pos_local_header + 14, ZLIB_FILEFUNC_SEEK_SET) … in zipCloseFileInZipRaw64()
1790 … err = zip64local_putValue(&zi->z_filefunc, zi->filestream,crc32,4); /* crc 32, unknown */ in zipCloseFileInZipRaw64()
1794 if (zi->ci.pos_zip64extrainfo > 0) in zipCloseFileInZipRaw64()
1797 …if (ZSEEK64(zi->z_filefunc, zi->filestream, zi->ci.pos_zip64extrainfo + 4, ZLIB_FILEFUNC_SEEK_SET)… in zipCloseFileInZipRaw64()
1801 … err = zip64local_putValue(&zi->z_filefunc, zi->filestream, uncompressed_size, 8); in zipCloseFileInZipRaw64()
1803 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, compressed_size, 8); in zipCloseFileInZipRaw64()
1811 err = zip64local_putValue(&zi->z_filefunc, zi->filestream,compressed_size, 4); in zipCloseFileInZipRaw64()
1813 err = zip64local_putValue(&zi->z_filefunc, zi->filestream,uncompressed_size, 4); in zipCloseFileInZipRaw64()
1817 if (zi->ci.number_disk != cur_number_disk) in zipCloseFileInZipRaw64()
1820 if (ZSEEK64(zi->z_filefunc, zi->filestream, cur_pos_inzip, ZLIB_FILEFUNC_SEEK_SET) != 0) in zipCloseFileInZipRaw64()
1824 zi->number_entry++; in zipCloseFileInZipRaw64()
1825 zi->in_opened_file_inzip = 0; in zipCloseFileInZipRaw64()
1837 zip64_internal* zi; in zipClose() local
1848 zi = (zip64_internal*)file; in zipClose()
1850 if (zi->in_opened_file_inzip == 1) in zipClose()
1855 global_comment = zi->globalcomment; in zipClose()
1858 if (zi->filestream != zi->filestream_with_CD) in zipClose()
1860 if (ZCLOSE64(zi->z_filefunc, zi->filestream) != 0) in zipClose()
1863 if (zi->disk_size > 0) in zipClose()
1864 zi->number_disk_with_CD = zi->number_disk + 1; in zipClose()
1865 zi->filestream = zi->filestream_with_CD; in zipClose()
1868 centraldir_pos_inzip = ZTELL64(zi->z_filefunc, zi->filestream); in zipClose()
1872 linkedlist_datablock_internal* ldi = zi->central_dir.first_block; in zipClose()
1877 … write = ZWRITE64(zi->z_filefunc, zi->filestream, ldi->data, ldi->filled_in_this_block); in zipClose()
1887 free_linkedlist(&(zi->central_dir)); in zipClose()
1889 pos = centraldir_pos_inzip - zi->add_position_when_writting_offset; in zipClose()
1892 if (pos >= 0xffffffff || zi->number_entry > 0xffff) in zipClose()
1894 ZPOS64_T zip64eocd_pos_inzip = ZTELL64(zi->z_filefunc, zi->filestream); in zipClose()
1897 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)ZIP64ENDHEADERMAGIC, 4); in zipClose()
1901 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)zip64datasize, 8); in zipClose()
1904 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)45, 2); in zipClose()
1907 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)45, 2); in zipClose()
1910 … err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)zi->number_disk_with_CD, 4); in zipClose()
1913 … err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)zi->number_disk_with_CD, 4); in zipClose()
1916 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, zi->number_entry, 8); in zipClose()
1919 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, zi->number_entry, 8); in zipClose()
1922 … err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)size_centraldir, 8); in zipClose()
1927 ZPOS64_T pos = centraldir_pos_inzip - zi->add_position_when_writting_offset; in zipClose()
1928 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)pos, 8); in zipClose()
1931 … err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)ZIP64ENDLOCHEADERMAGIC, 4); in zipClose()
1935 … err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)zi->number_disk_with_CD, 4); in zipClose()
1939 ZPOS64_T pos = zip64eocd_pos_inzip - zi->add_position_when_writting_offset; in zipClose()
1940 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, pos, 8); in zipClose()
1944 … err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)zi->number_disk_with_CD+1, 4); in zipClose()
1951 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)ENDHEADERMAGIC, 4); in zipClose()
1954 … err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)zi->number_disk_with_CD, 2); in zipClose()
1957 … err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)zi->number_disk_with_CD, 2); in zipClose()
1961 if (zi->number_entry >= 0xffff) in zipClose()
1962 …err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)0xffff, 2); /* use value in ZIP6… in zipClose()
1964 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)zi->number_entry, 2); in zipClose()
1969 if (zi->number_entry >= 0xffff) in zipClose()
1970 …err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)0xffff, 2); /* use value in ZIP6… in zipClose()
1972 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)zi->number_entry, 2); in zipClose()
1976 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)size_centraldir,4); in zipClose()
1980 ZPOS64_T pos = centraldir_pos_inzip - zi->add_position_when_writting_offset; in zipClose()
1982 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)0xffffffff, 4); in zipClose()
1984 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)pos, 4); in zipClose()
1992 err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)size_global_comment, 2); in zipClose()
1995 …if (ZWRITE64(zi->z_filefunc, zi->filestream, global_comment, size_global_comment) != size_global_c… in zipClose()
1999 if ((ZCLOSE64(zi->z_filefunc, zi->filestream) != 0) && (err == ZIP_OK)) in zipClose()
2003 TRYFREE(zi->globalcomment); in zipClose()
2005 TRYFREE(zi); in zipClose()