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

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

?? inflate.c

?? QT 開發環境里面一個很重要的文件
?? C
字號:
/* inflate.c -- zlib interface to inflate modules * Copyright (C) 1995-2002 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */#include "zutil.h"#include "infblock.h"#define  DONE  INFLATE_DONE#define  BAD   INFLATE_BADtypedef enum {      METHOD,   /* waiting for method byte */      FLAG,     /* waiting for flag byte */      DICT4,    /* four dictionary check bytes to go */      DICT3,    /* three dictionary check bytes to go */      DICT2,    /* two dictionary check bytes to go */      DICT1,    /* one dictionary check byte to go */      DICT0,    /* waiting for inflateSetDictionary */      BLOCKS,   /* decompressing blocks */      CHECK4,   /* four check bytes to go */      CHECK3,   /* three check bytes to go */      CHECK2,   /* two check bytes to go */      CHECK1,   /* one check byte to go */      DONE,     /* finished check, done */      BAD}      /* got an error--stay here */inflate_mode;/* inflate private state */struct internal_state {  /* mode */  inflate_mode  mode;   /* current inflate mode */  /* mode dependent information */  union {    uInt method;        /* if FLAGS, method byte */    struct {      uLong was;                /* computed check value */      uLong need;               /* stream check value */    } check;            /* if CHECK, check values to compare */    uInt marker;        /* if BAD, inflateSync's marker bytes count */  } sub;        /* submode */  /* mode independent information */  int  nowrap;          /* flag for no wrapper */  uInt wbits;           /* log2(window size)  (8..15, defaults to 15) */  inflate_blocks_statef    *blocks;            /* current inflate_blocks state */};ZEXPORT(int) inflateReset( /* z) */z_streamp z ){  if (z == Z_NULL || z->state == Z_NULL)    return Z_STREAM_ERROR;  z->total_in = z->total_out = 0;  z->msg = Z_NULL;  z->state->mode = z->state->nowrap ? BLOCKS : METHOD;  inflate_blocks_reset(z->state->blocks, z, Z_NULL);  Tracev((stderr, "inflate: reset\n"));  return Z_OK;}ZEXPORT(int) inflateEnd( /* z) */z_streamp z ){  if (z == Z_NULL || z->state == Z_NULL || z->zfree == Z_NULL)    return Z_STREAM_ERROR;  if (z->state->blocks != Z_NULL)    inflate_blocks_free(z->state->blocks, z);  ZFREE(z, z->state);  z->state = Z_NULL;  Tracev((stderr, "inflate: end\n"));  return Z_OK;}ZEXPORT(int) inflateInit2_( /* z, w, version, stream_size) */z_streamp z,int w,const char *version,int stream_size ){  if (version == Z_NULL || version[0] != ZLIB_VERSION[0] ||      stream_size != sizeof(z_stream))      return Z_VERSION_ERROR;  /* initialize state */  if (z == Z_NULL)    return Z_STREAM_ERROR;  z->msg = Z_NULL;  if (z->zalloc == Z_NULL)  {    z->zalloc = zcalloc;    z->opaque = (voidpf)0;  }  if (z->zfree == Z_NULL) z->zfree = zcfree;  if ((z->state = (struct internal_state FAR *)       ZALLOC(z,1,sizeof(struct internal_state))) == Z_NULL)    return Z_MEM_ERROR;  z->state->blocks = Z_NULL;  /* handle undocumented nowrap option (no zlib header or check) */  z->state->nowrap = 0;  if (w < 0)  {    w = - w;    z->state->nowrap = 1;  }  /* set window size */  if (w < 8 || w > 15)  {    inflateEnd(z);    return Z_STREAM_ERROR;  }  z->state->wbits = (uInt)w;  /* create inflate_blocks state */  if ((z->state->blocks =      inflate_blocks_new(z, z->state->nowrap ? Z_NULL : adler32, (uInt)1 << w))      == Z_NULL)  {    inflateEnd(z);    return Z_MEM_ERROR;  }  Tracev((stderr, "inflate: allocated\n"));  /* reset state */  inflateReset(z);  return Z_OK;}#undef  NEEDBYTE#define NEEDBYTE {if(z->avail_in==0)return r;r=f;}#undef  NEXTBYTE#define NEXTBYTE (z->avail_in--,z->total_in++,*z->next_in++)ZEXPORT(int) inflate( /* z, f) */z_streamp z,int f ){  int r;  uInt b;  if (z == Z_NULL || z->state == Z_NULL || z->next_in == Z_NULL)    return Z_STREAM_ERROR;  f = f == Z_FINISH ? Z_BUF_ERROR : Z_OK;  r = Z_BUF_ERROR;  while (1) switch (z->state->mode)  {    case METHOD:      NEEDBYTE      if (((z->state->sub.method = NEXTBYTE) & 0xf) != Z_DEFLATED)      {        z->state->mode = BAD;        z->msg = (char*)"unknown compression method";        z->state->sub.marker = 5;       /* can't try inflateSync */        break;      }      if ((z->state->sub.method >> 4) + 8 > z->state->wbits)      {        z->state->mode = BAD;        z->msg = (char*)"invalid window size";        z->state->sub.marker = 5;       /* can't try inflateSync */        break;      }      z->state->mode = FLAG;    case FLAG:      NEEDBYTE      b = NEXTBYTE;      if (((z->state->sub.method << 8) + b) % 31)      {        z->state->mode = BAD;        z->msg = (char*)"incorrect header check";        z->state->sub.marker = 5;       /* can't try inflateSync */        break;      }      Tracev((stderr, "inflate: zlib header ok\n"));      if (!(b & PRESET_DICT))      {        z->state->mode = BLOCKS;        break;      }      z->state->mode = DICT4;    case DICT4:      NEEDBYTE      z->state->sub.check.need = (uLong)NEXTBYTE << 24;      z->state->mode = DICT3;    case DICT3:      NEEDBYTE      z->state->sub.check.need += (uLong)NEXTBYTE << 16;      z->state->mode = DICT2;    case DICT2:      NEEDBYTE      z->state->sub.check.need += (uLong)NEXTBYTE << 8;      z->state->mode = DICT1;    case DICT1:      NEEDBYTE      z->state->sub.check.need += (uLong)NEXTBYTE;      z->adler = z->state->sub.check.need;      z->state->mode = DICT0;      return Z_NEED_DICT;    case DICT0:      z->state->mode = BAD;      z->msg = (char*)"need dictionary";      z->state->sub.marker = 0;       /* can try inflateSync */      return Z_STREAM_ERROR;    case BLOCKS:      r = inflate_blocks(z->state->blocks, z, r);      if (r == Z_DATA_ERROR)      {        z->state->mode = BAD;        z->state->sub.marker = 0;       /* can try inflateSync */        break;      }      if (r == Z_OK)        r = f;      if (r != Z_STREAM_END)        return r;      r = f;      inflate_blocks_reset(z->state->blocks, z, &z->state->sub.check.was);      if (z->state->nowrap)      {        z->state->mode = DONE;        break;      }      z->state->mode = CHECK4;    case CHECK4:      NEEDBYTE      z->state->sub.check.need = (uLong)NEXTBYTE << 24;      z->state->mode = CHECK3;    case CHECK3:      NEEDBYTE      z->state->sub.check.need += (uLong)NEXTBYTE << 16;      z->state->mode = CHECK2;    case CHECK2:      NEEDBYTE      z->state->sub.check.need += (uLong)NEXTBYTE << 8;      z->state->mode = CHECK1;    case CHECK1:      NEEDBYTE      z->state->sub.check.need += (uLong)NEXTBYTE;      if (z->state->sub.check.was != z->state->sub.check.need)      {        z->state->mode = BAD;        z->msg = (char*)"incorrect data check";        z->state->sub.marker = 5;       /* can't try inflateSync */        break;      }      Tracev((stderr, "inflate: zlib check ok\n"));      z->state->mode = DONE;    case DONE:      return Z_STREAM_END;    case BAD:      return Z_DATA_ERROR;    default:      return Z_STREAM_ERROR;  }#ifdef NEED_DUMMY_RETURN  return Z_STREAM_ERROR;  /* Some dumb compilers complain without this */#endif}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美色综合| 琪琪一区二区三区| 91小视频免费观看| 久久精品夜色噜噜亚洲aⅴ| 国产一区二区影院| 日本一二三四高清不卡| 盗摄精品av一区二区三区| 国产免费观看久久| 色香色香欲天天天影视综合网| 亚洲啪啪综合av一区二区三区| 91黄视频在线观看| 日韩二区在线观看| 久久精品亚洲乱码伦伦中文| av成人老司机| 亚洲高清免费观看高清完整版在线观看| 夜夜嗨av一区二区三区| 欧美日本免费一区二区三区| 极品销魂美女一区二区三区| 国产精品久久久久久久久果冻传媒| 欧美专区在线观看一区| 亚洲区小说区图片区qvod| 欧美午夜精品久久久| 国内精品伊人久久久久av影院| 国产精品剧情在线亚洲| 在线精品亚洲一区二区不卡| 久久精品国产亚洲高清剧情介绍 | 国产一区二区女| 自拍偷自拍亚洲精品播放| 欧美高清视频一二三区 | 国产精品2024| 亚洲永久免费av| 精品av久久707| 欧洲精品中文字幕| 久久精品国产精品亚洲红杏| 欧美韩国日本不卡| 91亚洲精品久久久蜜桃网站 | 久久精品国产99久久6| 最新国产の精品合集bt伙计| 欧美一区二区三区视频在线观看| 99精品国产91久久久久久| 免费在线观看一区二区三区| 中文字幕亚洲不卡| 精品乱人伦小说| 欧洲在线/亚洲| 不卡的av电影在线观看| 精品伊人久久久久7777人| 亚洲一线二线三线视频| 国产精品女人毛片| 日韩欧美亚洲国产精品字幕久久久 | 国产亚洲综合在线| eeuss鲁片一区二区三区在线观看| 日韩国产高清影视| 亚洲午夜久久久久久久久电影网| 久久久久久毛片| 欧美一级黄色录像| 欧美日韩一区二区不卡| 99久久99久久精品免费观看| 激情综合色播激情啊| 视频精品一区二区| 亚洲欧美在线视频| 337p粉嫩大胆噜噜噜噜噜91av| 欧美午夜不卡在线观看免费| 国产高清不卡二三区| 九九精品视频在线看| 午夜精彩视频在线观看不卡| 亚洲精品久久7777| 国产精品的网站| 久久亚洲综合色一区二区三区| 欧美精品v国产精品v日韩精品 | 日韩视频一区二区在线观看| 欧美午夜在线一二页| 在线亚洲+欧美+日本专区| 99国产欧美另类久久久精品| 成人午夜大片免费观看| 国产露脸91国语对白| 捆绑调教一区二区三区| 男人的天堂久久精品| 蜜桃av一区二区三区| 日韩不卡一二三区| 精油按摩中文字幕久久| 精品在线视频一区| 国产麻豆精品在线| 粉嫩蜜臀av国产精品网站| 国产成人久久精品77777最新版本| 国产乱子轮精品视频| 国产麻豆欧美日韩一区| 懂色av噜噜一区二区三区av| av一本久道久久综合久久鬼色| 成人自拍视频在线| 99久久精品免费看| 欧洲av一区二区嗯嗯嗯啊| 欧美日韩免费在线视频| 7777精品久久久大香线蕉| 欧美本精品男人aⅴ天堂| 亚洲精品在线免费播放| 久久久久久夜精品精品免费| 国产精品入口麻豆原神| 亚洲人成小说网站色在线| 亚洲福利一二三区| 久久国产视频网| 成人网在线播放| 欧美三级午夜理伦三级中视频| 制服.丝袜.亚洲.中文.综合| 精品国产3级a| 亚洲乱码中文字幕| 免费亚洲电影在线| 北条麻妃一区二区三区| 欧美日韩在线亚洲一区蜜芽| 日韩午夜精品视频| 中文字幕永久在线不卡| 日韩国产一二三区| 成人免费毛片aaaaa**| 欧美午夜精品理论片a级按摩| 精品粉嫩超白一线天av| 亚洲精品国久久99热| 久久99国产精品免费| 91丨九色丨黑人外教| 欧美一区二区三区色| 中文字幕在线不卡一区| 麻豆一区二区99久久久久| 99视频精品免费视频| 日韩精品一区二区三区中文精品| 国产精品久久久久婷婷| 日本美女一区二区三区视频| www.亚洲免费av| 日韩欧美一二区| 亚洲电影欧美电影有声小说| 国产成人亚洲综合a∨婷婷| 精品视频免费在线| 中文字幕亚洲一区二区va在线| 男男gaygay亚洲| 欧美在线一区二区三区| 91看片淫黄大片一级在线观看| 精品久久国产字幕高潮| 亚洲成av人片在线观看无码| 国产精品66部| 久久综合色综合88| 日韩黄色免费电影| 色综合久久综合网| 中文字幕av一区 二区| 久久精品国产亚洲一区二区三区| 在线观看日韩毛片| 国产精品的网站| 国产激情91久久精品导航| 欧美丰满嫩嫩电影| 亚洲激情av在线| 成人精品gif动图一区| 日韩欧美一区在线| 日韩和欧美一区二区| 91久久精品网| 亚洲女厕所小便bbb| 成人av在线播放网址| 久久综合999| 久久99国产精品麻豆| 精品久久久久久无| 免费在线观看视频一区| 欧美一区二区三区免费视频| 亚洲电影欧美电影有声小说| 日本乱码高清不卡字幕| 国产精品女上位| 97精品电影院| 亚洲欧美在线高清| 色素色在线综合| 亚洲制服丝袜在线| 欧美在线|欧美| 午夜电影久久久| 8x福利精品第一导航| 日韩高清国产一区在线| 日韩视频在线永久播放| 美女国产一区二区三区| 欧美一区二区视频在线观看2022| 爽好久久久欧美精品| 欧美一区二区播放| 亚洲成年人网站在线观看| 在线国产电影不卡| 香蕉成人啪国产精品视频综合网| 欧美日韩免费在线视频| 奇米777欧美一区二区| 久久中文字幕电影| 成人中文字幕合集| 亚洲精品高清在线观看| 在线成人小视频| 久久国产精品99久久人人澡| 欧美精品一区二区在线播放| 国产在线精品一区二区夜色| 久久精品人人爽人人爽| 色视频一区二区| 免费观看在线色综合| 精品sm在线观看| 91麻豆蜜桃一区二区三区| 亚洲成人av电影在线| 欧美成人精品3d动漫h| 国产69精品久久久久777| 亚洲女性喷水在线观看一区| 欧美日韩视频在线一区二区| 国产在线看一区| 一区二区三区蜜桃| 日韩免费视频线观看| 成人免费观看视频| 丝袜国产日韩另类美女|