Home | History | Annotate | Download | only in minizip

Lines Matching refs:ci

171     curfile64_info ci;            /* info on the file curretly writing */
876 ziinit.ci.stream_initialised = 0;
969 if(zi->ci.zip64)
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);
989 if(zi->ci.zip64)
996 if(zi->ci.zip64)
1005 if(zi->ci.zip64)
1026 if ((err==ZIP_OK) && (zi->ci.zip64))
1035 zi->ci.pos_zip64extrainfo = ZTELL64(zi->z_filefunc,zi->filestream);
1106 zi->ci.dosDate = 0;
1110 zi->ci.dosDate = zipfi->dosDate;
1112 zi->ci.dosDate = zip64local_TmzDateToDosDate(&zipfi->tmz_date);
1115 zi->ci.flag = flagBase;
1117 zi->ci.flag |= 2;
1119 zi->ci.flag |= 4;
1121 zi->ci.flag |= 6;
1123 zi->ci.flag |= 1;
1125 zi->ci.crc32 = 0;
1126 zi->ci.method = method;
1127 zi->ci.encrypt = 0;
1128 zi->ci.stream_initialised = 0;
1129 zi->ci.pos_in_buffered_data = 0;
1130 zi->ci.raw = raw;
1131 zi->ci.pos_local_header = ZTELL64(zi->z_filefunc,zi->filestream);
1133 zi->ci.size_centralheader = SIZECENTRALHEADER + size_filename + size_extrafield_global + size_comment;
1134 zi->ci.size_centralExtraFree = 32; // Extra space we have reserved in case we need to add ZIP64 extra info data
1136 zi->ci.central_header = (char*)ALLOC((uInt)zi->ci.size_centralheader + zi->ci.size_centralExtraFree);
1138 zi->ci.size_centralExtra = size_extrafield_global;
1139 zip64local_putValue_inmemory(zi->ci.central_header,(uLong)CENTRALHEADERMAGIC,4);
1141 zip64local_putValue_inmemory(zi->ci.central_header+4,(uLong)versionMadeBy,2);
1142 zip64local_putValue_inmemory(zi->ci.central_header+6,(uLong)20,2);
1143 zip64local_putValue_inmemory(zi->ci.central_header+8,(uLong)zi->ci.flag,2);
1144 zip64local_putValue_inmemory(zi->ci.central_header+10,(uLong)zi->ci.method,2);
1145 zip64local_putValue_inmemory(zi->ci.central_header+12,(uLong)zi->ci.dosDate,4);
1146 zip64local_putValue_inmemory(zi->ci.central_header+16,(uLong)0,4); /*crc*/
1147 zip64local_putValue_inmemory(zi->ci.central_header+20,(uLong)0,4); /*compr size*/
1148 zip64local_putValue_inmemory(zi->ci.central_header+24,(uLong)0,4); /*uncompr size*/
1149 zip64local_putValue_inmemory(zi->ci.central_header+28,(uLong)size_filename,2);
1150 zip64local_putValue_inmemory(zi->ci.central_header+30,(uLong)size_extrafield_global,2);
1151 zip64local_putValue_inmemory(zi->ci.central_header+32,(uLong)size_comment,2);
1152 zip64local_putValue_inmemory(zi->ci.central_header+34,(uLong)0,2); /*disk nm start*/
1155 zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)0,2);
1157 zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)zipfi->internal_fa,2);
1160 zip64local_putValue_inmemory(zi->ci.central_header+38,(uLong)0,4);
1162 zip64local_putValue_inmemory(zi->ci.central_header+38,(uLong)zipfi->external_fa,4);
1164 if(zi->ci.pos_local_header >= 0xffffffff)
1165 zip64local_putValue_inmemory(zi->ci.central_header+42,(uLong)0xffffffff,4);
1167 zip64local_putValue_inmemory(zi->ci.central_header+42,(uLong)zi->ci.pos_local_header - zi->add_position_when_writting_offset,4);
1170 *(zi->ci.central_header+SIZECENTRALHEADER+i) = *(filename+i);
1173 *(zi->ci.central_header+SIZECENTRALHEADER+size_filename+i) =
1177 *(zi->ci.central_header+SIZECENTRALHEADER+size_filename+
1179 if (zi->ci.central_header == NULL)
1182 zi->ci.zip64 = zip64;
1183 zi->ci.totalCompressedData = 0;
1184 zi->ci.totalUncompressedData = 0;
1185 zi->ci.pos_zip64extrainfo = 0;
1190 zi->ci.bstream.avail_in = (uInt)0;
1191 zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE;
1192 zi->ci.bstream.next_out = (char*)zi->ci.buffered_data;
1193 zi->ci.bstream.total_in_hi32 = 0;
1194 zi->ci.bstream.total_in_lo32 = 0;
1195 zi->ci.bstream.total_out_hi32 = 0;
1196 zi->ci.bstream.total_out_lo32 = 0;
1199 zi->ci.stream.avail_in = (uInt)0;
1200 zi->ci.stream.avail_out = (uInt)Z_BUFSIZE;
1201 zi->ci.stream.next_out = zi->ci.buffered_data;
1202 zi->ci.stream.total_in = 0;
1203 zi->ci.stream.total_out = 0;
1204 zi->ci.stream.data_type = Z_BINARY;
1207 if ((err==ZIP_OK) && (zi->ci.method == Z_DEFLATED || zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw))
1209 if ((err==ZIP_OK) && (zi->ci.method == Z_DEFLATED) && (!zi->ci.raw))
1212 if(zi->ci.method == Z_DEFLATED)
1214 zi->ci.stream.zalloc = (alloc_func)0;
1215 zi->ci.stream.zfree = (free_func)0;
1216 zi->ci.stream.opaque = (voidpf)0;
1221 err = deflateInit2(&zi->ci.stream, level, Z_DEFLATED, windowBits, memLevel, strategy);
1224 zi->ci.stream_initialised = Z_DEFLATED;
1226 else if(zi->ci.method == Z_BZIP2ED)
1230 zi->ci.bstream.bzalloc = 0;
1231 zi->ci.bstream.bzfree = 0;
1232 zi->ci.bstream.opaque = (voidpf)0;
1234 err = BZ2_bzCompressInit(&zi->ci.bstream, level, 0,35);
1236 zi->ci.stream_initialised = Z_BZIP2ED;
1243 zi->ci.crypt_header_size = 0;
1248 zi->ci.encrypt = 1;
1249 zi->ci.pcrc_32_tab = get_crc_table();
1250 /*init_keys(password,zi->ci.keys,zi->ci.pcrc_32_tab);*/
1252 sizeHead=crypthead(password,bufHead,RAND_HEAD_LEN,zi->ci.keys,zi->ci.pcrc_32_tab,crcForCrypting);
1253 zi->ci.crypt_header_size = sizeHead;
1367 if (zi->ci.encrypt != 0)
1372 for (i=0;i<zi->ci.pos_in_buffered_data;i++)
1373 zi->ci.buffered_data[i] = zencode(zi->ci.keys, zi->ci.pcrc_32_tab, zi->ci.buffered_data[i],t);
1377 if (ZWRITE64(zi->z_filefunc,zi->filestream,zi->ci.buffered_data,zi->ci.pos_in_buffered_data) != zi->ci.pos_in_buffered_data)
1380 zi->ci.totalCompressedData += zi->ci.pos_in_buffered_data;
1383 if(zi->ci.method == Z_BZIP2ED)
1385 zi->ci.totalUncompressedData += zi->ci.bstream.total_in_lo32;
1386 zi->ci.bstream.total_in_lo32 = 0;
1387 zi->ci.bstream.total_in_hi32 = 0;
1392 zi->ci.totalUncompressedData += zi->ci.stream.total_in;
1393 zi->ci.stream.total_in = 0;
1397 zi->ci.pos_in_buffered_data = 0;
1414 zi->ci.crc32 = crc32(zi->ci.crc32,buf,(uInt)len);
1417 if(zi->ci.method == Z_BZIP2ED && (!zi->ci.raw))
1419 zi->ci.bstream.next_in = (void*)buf;
1420 zi->ci.bstream.avail_in = len;
1423 while ((err==BZ_RUN_OK) && (zi->ci.bstream.avail_in>0))
1425 if (zi->ci.bstream.avail_out == 0)
1429 zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE;
1430 zi->ci.bstream.next_out = (char*)zi->ci.buffered_data;
1437 if ((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw))
1439 uLong uTotalOutBefore_lo = zi->ci.bstream.total_out_lo32;
1440 // uLong uTotalOutBefore_hi = zi->ci.bstream.total_out_hi32;
1441 err=BZ2_bzCompress(&zi->ci.bstream, BZ_RUN);
1443 zi->ci.pos_in_buffered_data += (uInt)(zi->ci.bstream.total_out_lo32 - uTotalOutBefore_lo) ;
1453 zi->ci.stream.next_in = (Bytef*)buf;
1454 zi->ci.stream.avail_in = len;
1456 while ((err==ZIP_OK) && (zi->ci.stream.avail_in>0))
1458 if (zi->ci.stream.avail_out == 0)
1462 zi->ci.stream.avail_out = (uInt)Z_BUFSIZE;
1463 zi->ci.stream.next_out = zi->ci.buffered_data;
1470 if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw))
1472 uLong uTotalOutBefore = zi->ci.stream.total_out;
1473 err=deflate(&zi->ci.stream, Z_NO_FLUSH);
1474 if(uTotalOutBefore > zi->ci.stream.total_out)
1480 zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ;
1485 if (zi->ci.stream.avail_in < zi->ci.stream.avail_out)
1486 copy_this = zi->ci.stream.avail_in;
1488 copy_this = zi->ci.stream.avail_out;
1491 *(((char*)zi->ci.stream.next_out)+i) =
1492 *(((const char*)zi->ci.stream.next_in)+i);
1494 ci.stream.avail_in -= copy_this;
1495 zi->ci.stream.avail_out-= copy_this;
1496 zi->ci.stream.next_in+= copy_this;
1497 zi->ci.stream.next_out+= copy_this;
1498 zi->ci.stream.total_in+= copy_this;
1499 zi->ci.stream.total_out+= copy_this;
1500 zi->ci.pos_in_buffered_data += copy_this;
1528 zi->ci.stream.avail_in = 0;
1530 if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw))
1535 if (zi->ci.stream.avail_out == 0)
1539 zi->ci.stream.avail_out = (uInt)Z_BUFSIZE;
1540 zi->ci.stream.next_out = zi->ci.buffered_data;
1542 uTotalOutBefore = zi->ci.stream.total_out;
1543 err=deflate(&zi->ci.stream, Z_FINISH);
1544 zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ;
1547 else if ((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw))
1554 if (zi->ci.bstream.avail_out == 0)
1558 zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE;
1559 zi->ci.bstream.next_out = (char*)zi->ci.buffered_data;
1561 uTotalOutBefore = zi->ci.bstream.total_out_lo32;
1562 err=BZ2_bzCompress(&zi->ci.bstream, BZ_FINISH);
1566 zi->ci.pos_in_buffered_data += (uInt)(zi->ci.bstream.total_out_lo32 - uTotalOutBefore);
1577 if ((zi->ci.pos_in_buffered_data>0) && (err==ZIP_OK))
1583 if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw))
1585 int tmp_err = deflateEnd(&zi->ci.stream);
1588 zi->ci.stream_initialised = 0;
1591 else if((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw))
1593 int tmperr = BZ2_bzCompressEnd(&zi->ci.bstream);
1596 zi->ci.stream_initialised = 0;
1600 if (!zi->ci.raw)
1602 crc32 = (uLong)zi->ci.crc32;
1603 uncompressed_size = zi->ci.totalUncompressedData;
1605 compressed_size = zi->ci.totalCompressedData;
1608 compressed_size += zi->ci.crypt_header_size;
1612 if(compressed_size >= 0xffffffff || uncompressed_size >= 0xffffffff || zi->ci.pos_local_header >= 0xffffffff)
1615 zip64local_putValue_inmemory(zi->ci.central_header+4,(uLong)45,2);
1617 zip64local_putValue_inmemory(zi->ci.central_header+6,(uLong)45,2);
1621 zip64local_putValue_inmemory(zi->ci.central_header+16,crc32,4); /*crc*/
1625 zip64local_putValue_inmemory(zi->ci.central_header+20, invalidValue,4); /*compr size*/
1627 zip64local_putValue_inmemory(zi->ci.central_header+20, compressed_size,4); /*compr size*/
1630 if (zi->ci.stream.data_type == Z_ASCII)
1631 zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)Z_ASCII,2);
1634 zip64local_putValue_inmemory(zi->ci.central_header+24, invalidValue,4); /*uncompr size*/
1636 zip64local_putValue_inmemory(zi->ci.central_header+24, uncompressed_size,4); /*uncompr size*/
1647 if(zi->ci.pos_local_header >= 0xffffffff)
1654 if((uLong)(datasize + 4) > zi->ci.size_centralExtraFree)
1660 p = zi->ci.central_header + zi->ci.size_centralheader;
1680 if(zi->ci.pos_local_header >= 0xffffffff)
1682 zip64local_putValue_inmemory(p, zi->ci.pos_local_header, 8);
1689 zi->ci.size_centralExtraFree -= datasize + 4;
1690 zi->ci.size_centralheader += datasize + 4;
1693 zi->ci.size_centralExtra += datasize + 4;
1694 zip64local_putValue_inmemory(zi->ci.central_header+30,(uLong)zi->ci.size_centralExtra,2);
1698 err = add_data_in_datablock(&zi->central_dir, zi->ci.central_header, (uLong)zi->ci.size_centralheader);
1700 free(zi->ci.central_header);
1708 if (ZSEEK64(zi->z_filefunc,zi->filestream, zi->ci.pos_local_header + 14,ZLIB_FILEFUNC_SEEK_SET)!=0)
1716 if(zi->ci.pos_zip64extrainfo > 0)
1719 if (ZSEEK64(zi->z_filefunc,zi->filestream, zi->ci.pos_zip64extrainfo + 4,ZLIB_FILEFUNC_SEEK_SET)!=0)