| 540 | } |
| 541 | |
| 542 | bool zlib_stream::zip_begin(zlib_level_t level /* = zlib_default */, |
| 543 | int wbits /* = zlib_wbits_15 */, |
| 544 | zlib_mlevel_t mlevel /* = zlib_memlevel_9 */) |
| 545 | { |
| 546 | #ifdef HAS_ZLIB |
| 547 | # if defined(ACL_CPP_DLL) || defined(HAS_ZLIB_DLL) |
| 548 | if (__deflateInit2 == NULL) { |
| 549 | logger_warn("__deflateInit2 null, zlib maybe not loaded yet"); |
| 550 | return false; |
| 551 | } |
| 552 | # endif |
| 553 | #endif |
| 554 | |
| 555 | zlib_flags_ = zlib_flags_zip_begin; |
| 556 | finished_ = false; |
| 557 | is_compress_ = true; |
| 558 | // int ret = __deflateInit(zstream_, level, ZLIB_VERSION, sizeof(z_stream)); |
| 559 | |
| 560 | #ifdef COSMOCC |
| 561 | int ret = __deflateInit2(zstream_, level, Z_DEFLATED, |
| 562 | wbits, mlevel, Z_DEFAULT_STRATEGY); |
| 563 | #else |
| 564 | int ret = __deflateInit2(zstream_, level, Z_DEFLATED, |
| 565 | wbits, mlevel, Z_DEFAULT_STRATEGY, ZLIB_VERSION, |
| 566 | (int) sizeof(z_stream)); |
| 567 | #endif |
| 568 | if (ret != Z_OK) { |
| 569 | logger_error("deflateInit error"); |
| 570 | return false; |
| 571 | } |
| 572 | return true; |
| 573 | } |
| 574 | |
| 575 | bool zlib_stream::zip_update(const char* in, int len, string* out, |
| 576 | zlib_flush_t flag /* = zlib_flush_off */) |
no outgoing calls