亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bzlib.c

?? 一個本地database引擎,支持中文T_Sql查詢,兼容DELPHI標準數據庫控件
?? C
?? 第 1 頁 / 共 3 頁
字號:
/*-------------------------------------------------------------*//*--- Library top-level functions.                          ---*//*---                                               bzlib.c ---*//*-------------------------------------------------------------*//*--  This file is a part of bzip2 and/or libbzip2, a program and  library for lossless, block-sorting data compression.  Copyright (C) 1996-2000 Julian R Seward.  All rights reserved.  Redistribution and use in source and binary forms, with or without  modification, are permitted provided that the following conditions  are met:  1. Redistributions of source code must retain the above copyright     notice, this list of conditions and the following disclaimer.  2. The origin of this software must not be misrepresented; you must      not claim that you wrote the original software.  If you use this      software in a product, an acknowledgment in the product      documentation would be appreciated but is not required.  3. Altered source versions must be plainly marked as such, and must     not be misrepresented as being the original software.  4. The name of the author may not be used to endorse or promote      products derived from this software without specific prior written      permission.  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  Julian Seward, Cambridge, UK.  jseward@acm.org  bzip2/libbzip2 version 1.0 of 21 March 2000  This program is based on (at least) the work of:     Mike Burrows     David Wheeler     Peter Fenwick     Alistair Moffat     Radford Neal     Ian H. Witten     Robert Sedgewick     Jon L. Bentley  For more information on these sources, see the manual.--*//*--   CHANGES   ~~~~~~~   0.9.0 -- original version.   0.9.0a/b -- no changes in this file.   0.9.0c      * made zero-length BZ_FLUSH work correctly in bzCompress().      * fixed bzWrite/bzRead to ignore zero-length requests.      * fixed bzread to correctly handle read requests after EOF.      * wrong parameter order in call to bzDecompressInit in        bzBuffToBuffDecompress.  Fixed.--*/#include "bzlib_private.h"/*---------------------------------------------------*//*--- Compression stuff                           ---*//*---------------------------------------------------*//*---------------------------------------------------*/#ifndef BZ_NO_STDIOvoid BZ2_bz__AssertH__fail ( int errcode ){   fprintf(stderr,       "\n\nbzip2/libbzip2: internal error number %d.\n"      "This is a bug in bzip2/libbzip2, %s.\n"      "Please report it to me at: jseward@acm.org.  If this happened\n"      "when you were using some program which uses libbzip2 as a\n"      "component, you should also report this bug to the author(s)\n"      "of that program.  Please make an effort to report this bug;\n"      "timely and accurate bug reports eventually lead to higher\n"      "quality software.  Thanks.  Julian Seward, 21 March 2000.\n\n",      errcode,      BZ2_bzlibVersion()   );   exit(3);}#endif/*---------------------------------------------------*/staticint bz_config_ok ( void ){   if (sizeof(int)   != 4) return 0;   if (sizeof(short) != 2) return 0;   if (sizeof(char)  != 1) return 0;   return 1;}/*---------------------------------------------------*/staticvoid* default_bzalloc ( void* opaque, Int32 items, Int32 size ){   void* v = malloc ( items * size );   return v;}staticvoid default_bzfree ( void* opaque, void* addr ){   if (addr != NULL) free ( addr );}/*---------------------------------------------------*/staticvoid prepare_new_block ( EState* s ){   Int32 i;   s->nblock = 0;   s->numZ = 0;   s->state_out_pos = 0;   BZ_INITIALISE_CRC ( s->blockCRC );   for (i = 0; i < 256; i++) s->inUse[i] = False;   s->blockNo++;}/*---------------------------------------------------*/staticvoid init_RL ( EState* s ){   s->state_in_ch  = 256;   s->state_in_len = 0;}staticBool isempty_RL ( EState* s ){   if (s->state_in_ch < 256 && s->state_in_len > 0)      return False; else      return True;}/*---------------------------------------------------*/int BZ_API(BZ2_bzCompressInit)                     ( bz_stream* strm,                      int        blockSize100k,                     int        verbosity,                     int        workFactor ){   Int32   n;   EState* s;   if (!bz_config_ok()) return BZ_CONFIG_ERROR;   if (strm == NULL ||        blockSize100k < 1 || blockSize100k > 9 ||       workFactor < 0 || workFactor > 250)     return BZ_PARAM_ERROR;   if (workFactor == 0) workFactor = 30;   if (strm->bzalloc == NULL) strm->bzalloc = default_bzalloc;   if (strm->bzfree == NULL) strm->bzfree = default_bzfree;   s = BZALLOC( sizeof(EState) );   if (s == NULL) return BZ_MEM_ERROR;   s->strm = strm;   s->arr1 = NULL;   s->arr2 = NULL;   s->ftab = NULL;   n       = 100000 * blockSize100k;   s->arr1 = BZALLOC( n                  * sizeof(UInt32) );   s->arr2 = BZALLOC( (n+BZ_N_OVERSHOOT) * sizeof(UInt32) );   s->ftab = BZALLOC( 65537              * sizeof(UInt32) );   if (s->arr1 == NULL || s->arr2 == NULL || s->ftab == NULL) {      if (s->arr1 != NULL) BZFREE(s->arr1);      if (s->arr2 != NULL) BZFREE(s->arr2);      if (s->ftab != NULL) BZFREE(s->ftab);      if (s       != NULL) BZFREE(s);      return BZ_MEM_ERROR;   }   s->blockNo           = 0;   s->state             = BZ_S_INPUT;   s->mode              = BZ_M_RUNNING;   s->combinedCRC       = 0;   s->blockSize100k     = blockSize100k;   s->nblockMAX         = 100000 * blockSize100k - 19;   s->verbosity         = verbosity;   s->workFactor        = workFactor;   s->block             = (UChar*)s->arr2;   s->mtfv              = (UInt16*)s->arr1;   s->zbits             = NULL;   s->ptr               = (UInt32*)s->arr1;   strm->state          = s;   strm->total_in_lo32  = 0;   strm->total_in_hi32  = 0;   strm->total_out_lo32 = 0;   strm->total_out_hi32 = 0;   init_RL ( s );   prepare_new_block ( s );   return BZ_OK;}/*---------------------------------------------------*/staticvoid add_pair_to_block ( EState* s ){   Int32 i;   UChar ch = (UChar)(s->state_in_ch);   for (i = 0; i < s->state_in_len; i++) {      BZ_UPDATE_CRC( s->blockCRC, ch );   }   s->inUse[s->state_in_ch] = True;   switch (s->state_in_len) {      case 1:         s->block[s->nblock] = (UChar)ch; s->nblock++;         break;      case 2:         s->block[s->nblock] = (UChar)ch; s->nblock++;         s->block[s->nblock] = (UChar)ch; s->nblock++;         break;      case 3:         s->block[s->nblock] = (UChar)ch; s->nblock++;         s->block[s->nblock] = (UChar)ch; s->nblock++;         s->block[s->nblock] = (UChar)ch; s->nblock++;         break;      default:         s->inUse[s->state_in_len-4] = True;         s->block[s->nblock] = (UChar)ch; s->nblock++;         s->block[s->nblock] = (UChar)ch; s->nblock++;         s->block[s->nblock] = (UChar)ch; s->nblock++;         s->block[s->nblock] = (UChar)ch; s->nblock++;         s->block[s->nblock] = ((UChar)(s->state_in_len-4));         s->nblock++;         break;   }}/*---------------------------------------------------*/staticvoid flush_RL ( EState* s ){   if (s->state_in_ch < 256) add_pair_to_block ( s );   init_RL ( s );}/*---------------------------------------------------*/#define ADD_CHAR_TO_BLOCK(zs,zchh0)               \{                                                 \   UInt32 zchh = (UInt32)(zchh0);                 \   /*-- fast track the common case --*/           \   if (zchh != zs->state_in_ch &&                 \       zs->state_in_len == 1) {                   \      UChar ch = (UChar)(zs->state_in_ch);        \      BZ_UPDATE_CRC( zs->blockCRC, ch );          \      zs->inUse[zs->state_in_ch] = True;          \      zs->block[zs->nblock] = (UChar)ch;          \      zs->nblock++;                               \      zs->state_in_ch = zchh;                     \   }                                              \   else                                           \   /*-- general, uncommon cases --*/              \   if (zchh != zs->state_in_ch ||                 \      zs->state_in_len == 255) {                  \      if (zs->state_in_ch < 256)                  \         add_pair_to_block ( zs );                \      zs->state_in_ch = zchh;                     \      zs->state_in_len = 1;                       \   } else {                                       \      zs->state_in_len++;                         \   }                                              \}/*---------------------------------------------------*/staticBool copy_input_until_stop ( EState* s ){   Bool progress_in = False;   if (s->mode == BZ_M_RUNNING) {      /*-- fast track the common case --*/      while (True) {         /*-- block full? --*/         if (s->nblock >= s->nblockMAX) break;         /*-- no input? --*/         if (s->strm->avail_in == 0) break;         progress_in = True;         ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) );          s->strm->next_in++;         s->strm->avail_in--;         s->strm->total_in_lo32++;         if (s->strm->total_in_lo32 == 0) s->strm->total_in_hi32++;      }   } else {      /*-- general, uncommon case --*/      while (True) {         /*-- block full? --*/         if (s->nblock >= s->nblockMAX) break;         /*-- no input? --*/         if (s->strm->avail_in == 0) break;         /*-- flush/finish end? --*/         if (s->avail_in_expect == 0) break;         progress_in = True;         ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) );          s->strm->next_in++;         s->strm->avail_in--;         s->strm->total_in_lo32++;         if (s->strm->total_in_lo32 == 0) s->strm->total_in_hi32++;         s->avail_in_expect--;      }   }   return progress_in;}/*---------------------------------------------------*/staticBool copy_output_until_stop ( EState* s ){   Bool progress_out = False;   while (True) {      /*-- no output space? --*/      if (s->strm->avail_out == 0) break;      /*-- block done? --*/      if (s->state_out_pos >= s->numZ) break;      progress_out = True;      *(s->strm->next_out) = s->zbits[s->state_out_pos];      s->state_out_pos++;      s->strm->avail_out--;      s->strm->next_out++;      s->strm->total_out_lo32++;      if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;   }   return progress_out;}/*---------------------------------------------------*/staticBool handle_compress ( bz_stream* strm ){   Bool progress_in  = False;   Bool progress_out = False;   EState* s = strm->state;      while (True) {      if (s->state == BZ_S_OUTPUT) {         progress_out |= copy_output_until_stop ( s );         if (s->state_out_pos < s->numZ) break;         if (s->mode == BZ_M_FINISHING &&              s->avail_in_expect == 0 &&             isempty_RL(s)) break;         prepare_new_block ( s );         s->state = BZ_S_INPUT;         if (s->mode == BZ_M_FLUSHING &&              s->avail_in_expect == 0 &&             isempty_RL(s)) break;      }      if (s->state == BZ_S_INPUT) {         progress_in |= copy_input_until_stop ( s );         if (s->mode != BZ_M_RUNNING && s->avail_in_expect == 0) {            flush_RL ( s );            BZ2_compressBlock ( s, (Bool)(s->mode == BZ_M_FINISHING) );            s->state = BZ_S_OUTPUT;         }         else         if (s->nblock >= s->nblockMAX) {            BZ2_compressBlock ( s, False );            s->state = BZ_S_OUTPUT;         }         else         if (s->strm->avail_in == 0) {            break;         }      }   }   return progress_in || progress_out;}/*---------------------------------------------------*/int BZ_API(BZ2_bzCompress) ( bz_stream *strm, int action ){   Bool progress;   EState* s;   if (strm == NULL) return BZ_PARAM_ERROR;   s = strm->state;   if (s == NULL) return BZ_PARAM_ERROR;   if (s->strm != strm) return BZ_PARAM_ERROR;   preswitch:   switch (s->mode) {      case BZ_M_IDLE:         return BZ_SEQUENCE_ERROR;      case BZ_M_RUNNING:         if (action == BZ_RUN) {            progress = handle_compress ( strm );            return progress ? BZ_RUN_OK : BZ_PARAM_ERROR;         }          else	 if (action == BZ_FLUSH) {            s->avail_in_expect = strm->avail_in;            s->mode = BZ_M_FLUSHING;            goto preswitch;         }         else         if (action == BZ_FINISH) {            s->avail_in_expect = strm->avail_in;            s->mode = BZ_M_FINISHING;            goto preswitch;         }         else             return BZ_PARAM_ERROR;      case BZ_M_FLUSHING:         if (action != BZ_FLUSH) return BZ_SEQUENCE_ERROR;         if (s->avail_in_expect != s->strm->avail_in)             return BZ_SEQUENCE_ERROR;         progress = handle_compress ( strm );         if (s->avail_in_expect > 0 || !isempty_RL(s) ||             s->state_out_pos < s->numZ) return BZ_FLUSH_OK;         s->mode = BZ_M_RUNNING;         return BZ_RUN_OK;      case BZ_M_FINISHING:         if (action != BZ_FINISH) return BZ_SEQUENCE_ERROR;         if (s->avail_in_expect != s->strm->avail_in)             return BZ_SEQUENCE_ERROR;         progress = handle_compress ( strm );         if (!progress) return BZ_SEQUENCE_ERROR;         if (s->avail_in_expect > 0 || !isempty_RL(s) ||             s->state_out_pos < s->numZ) return BZ_FINISH_OK;         s->mode = BZ_M_IDLE;         return BZ_STREAM_END;   }   return BZ_OK; /*--not reached--*/}/*---------------------------------------------------*/int BZ_API(BZ2_bzCompressEnd)  ( bz_stream *strm ){   EState* s;   if (strm == NULL) return BZ_PARAM_ERROR;   s = strm->state;   if (s == NULL) return BZ_PARAM_ERROR;   if (s->strm != strm) return BZ_PARAM_ERROR;   if (s->arr1 != NULL) BZFREE(s->arr1);   if (s->arr2 != NULL) BZFREE(s->arr2);   if (s->ftab != NULL) BZFREE(s->ftab);   BZFREE(strm->state);   strm->state = NULL;      return BZ_OK;}/*---------------------------------------------------*//*--- Decompression stuff                         ---*//*---------------------------------------------------*//*---------------------------------------------------*/int BZ_API(BZ2_bzDecompressInit)                      ( bz_stream* strm,                        int        verbosity,                       int        small ){   DState* s;   if (!bz_config_ok()) return BZ_CONFIG_ERROR;   if (strm == NULL) return BZ_PARAM_ERROR;   if (small != 0 && small != 1) return BZ_PARAM_ERROR;   if (verbosity < 0 || verbosity > 4) return BZ_PARAM_ERROR;   if (strm->bzalloc == NULL) strm->bzalloc = default_bzalloc;   if (strm->bzfree == NULL) strm->bzfree = default_bzfree;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区电影在线播| 欧美一区二区久久| 亚洲国产高清aⅴ视频| 国产91精品欧美| 国产精品美女久久久久久| 成人av手机在线观看| 亚洲欧美二区三区| 欧美日韩一卡二卡| 美女视频黄免费的久久| 久久久久久久久蜜桃| 不卡的电影网站| 亚洲成a人在线观看| 日韩一区二区在线观看| 成人午夜免费电影| 亚洲国产毛片aaaaa无费看| 日韩精品一区二区三区蜜臀 | 国产日韩在线不卡| www.av亚洲| 亚洲超丰满肉感bbw| 精品国偷自产国产一区| 成人国产精品免费网站| 亚洲已满18点击进入久久| 欧美一区二区在线免费播放| 国产另类ts人妖一区二区| 中文字幕在线不卡一区二区三区| 91福利在线导航| 精品影视av免费| 亚洲特黄一级片| 欧美一区二区三区免费| 成人理论电影网| 日韩在线播放一区二区| 日本一区二区高清| 欧美人与禽zozo性伦| 国产在线国偷精品免费看| 亚洲乱码一区二区三区在线观看| 欧美一区二区三区喷汁尤物| 成人v精品蜜桃久久一区| 视频在线观看一区二区三区| 中文在线资源观看网站视频免费不卡 | 日韩精品中文字幕一区二区三区 | 亚洲自拍偷拍av| 久久久精品国产免费观看同学| 色美美综合视频| 国产一级精品在线| 激情综合网最新| 亚洲特黄一级片| 久久精品视频免费观看| 欧美日韩美女一区二区| 丁香激情综合国产| 奇米888四色在线精品| 综合欧美亚洲日本| 久久蜜桃av一区精品变态类天堂| 欧美日韩在线免费视频| 国产精品18久久久久久久久| 亚洲一区在线电影| 中文字幕在线观看不卡| 久久久99久久| 日韩欧美第一区| 欧美日韩国产片| 一本大道久久a久久精品综合| 国产精品小仙女| 精品无人区卡一卡二卡三乱码免费卡| 亚洲男人的天堂在线aⅴ视频| 国产午夜精品美女毛片视频| 日韩一区二区三区在线| 欧美精品久久久久久久多人混战| 在线观看免费亚洲| 99免费精品在线| 成人午夜免费视频| 丁香激情综合国产| 成人免费观看av| jizzjizzjizz欧美| 高清国产一区二区| 国产成人av一区二区三区在线| 六月丁香综合在线视频| 久久国产夜色精品鲁鲁99| 久久精工是国产品牌吗| 日本欧美一区二区在线观看| 亚洲成av人片一区二区| 婷婷开心激情综合| 天堂成人国产精品一区| 丝袜亚洲精品中文字幕一区| 日日噜噜夜夜狠狠视频欧美人| 亚欧色一区w666天堂| 午夜精品久久久久久不卡8050| 亚洲h动漫在线| 青青青伊人色综合久久| 蓝色福利精品导航| 国精产品一区一区三区mba桃花| 国产一区二区三区免费观看| 国产盗摄女厕一区二区三区| 成人在线综合网站| 色综合中文字幕| 欧美日韩视频在线一区二区| 欧美一卡二卡三卡四卡| 日韩欧美亚洲一区二区| 久久影院电视剧免费观看| 国产午夜精品久久久久久久| 国产精品网曝门| 亚洲男人的天堂一区二区| 午夜私人影院久久久久| 日本午夜精品一区二区三区电影 | 亚洲国产精品一区二区www在线| 亚洲444eee在线观看| 美美哒免费高清在线观看视频一区二区| 久久精品99国产精品日本| 成人免费毛片app| 欧美在线看片a免费观看| 91麻豆精品国产91久久久使用方法 | 中文字幕一区二区视频| 亚洲综合成人网| 国产尤物一区二区在线| 99久久国产综合色|国产精品| 欧美一区二区三区系列电影| 欧美xxxxxxxxx| 亚洲欧美电影院| 久久99精品国产麻豆婷婷洗澡| 成人黄色在线网站| 欧美日韩一区精品| 久久久激情视频| 亚洲成人激情av| 成人精品在线视频观看| 欧美精品三级在线观看| 欧美韩日一区二区三区| 亚洲自拍偷拍综合| 国产suv精品一区二区三区| 欧美色精品在线视频| 欧美激情在线观看视频免费| 婷婷综合另类小说色区| 成人avav影音| 欧美大片在线观看一区| 亚洲精品videosex极品| 国产精品一区二区在线播放| 欧美视频你懂的| 国产精品素人视频| 精品写真视频在线观看| 欧美日韩久久久| 中文字幕一区二区在线播放| 国产乱色国产精品免费视频| 欧美三级日韩三级| 中文字幕在线不卡国产视频| 国产一区二区三区免费看| 在线成人免费观看| 一区二区三区中文字幕电影 | 日韩一区在线播放| 国内偷窥港台综合视频在线播放| 欧美怡红院视频| 国产精品成人一区二区三区夜夜夜| 毛片av中文字幕一区二区| 日本丶国产丶欧美色综合| 国产精品网友自拍| 韩国女主播一区二区三区| 91精品国产免费| 亚洲444eee在线观看| 欧美视频三区在线播放| 亚洲欧美另类小说视频| 国产成人av一区二区| 久久久精品免费免费| 激情五月激情综合网| 欧美一区二区福利在线| 青草国产精品久久久久久| 在线不卡欧美精品一区二区三区| 亚洲一区视频在线| 色8久久精品久久久久久蜜| 亚洲色图.com| 91原创在线视频| 国产精品嫩草99a| 成人精品鲁一区一区二区| 中文字幕精品在线不卡| 国产成人av影院| 国产精品国产自产拍高清av王其 | 91在线高清观看| 亚洲激情五月婷婷| 91精品国产综合久久久久| 午夜欧美电影在线观看| 欧美日韩国产在线观看| 午夜精品久久久久久久久久久| 欧美精品亚洲二区| 日本成人在线不卡视频| 日韩精品中午字幕| 国产精品一区二区久久不卡 | 欧美日本国产一区| 日韩avvvv在线播放| 欧美va亚洲va在线观看蝴蝶网| 国模冰冰炮一区二区| 国产精品麻豆视频| 91丨九色porny丨蝌蚪| 亚洲影视资源网| 欧美大片一区二区三区| 国产精品一品视频| 18成人在线视频| 宅男噜噜噜66一区二区66| 激情综合网最新| 成人欧美一区二区三区白人| 欧美日韩一区二区在线观看 | 欧美三级电影一区| 精品一区二区三区免费观看| 国产日产欧美一区二区视频| 99久久国产综合精品色伊 | 久久精品国产免费|