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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? inflatelib.c

?? vxworks的完整的源代碼
?? C
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
*/ static voidp falloc    (    voidp	q,	/* opaque pointer */    uInt	n,      /* number of items */    uInt	s       /* size of item */    )    {    *(int *)q -= n;    return (voidp)(fixed_mem + *(int *)q);    }/******************************************************************************** inflate_trees_fixed - do something*/ static int inflate_trees_fixed    (    uInt *	bl,	/* literal desired/actual bit depth */    uInt *	bd,     /* distance desired/actual bit depth */    inflate_huft ** tl, /* literal/length tree result */    inflate_huft ** td  /* distance tree result */    )    {    /* build fixed tables if not already (multiple overlapped executions ok) */    if (!fixed_built)	{	int k;              /* temporary variable */	unsigned *c = (unsigned *)zcalloc (0, 288, sizeof (unsigned));			    /* length list for huft_build */	z_stream z;         /* for falloc function */	int f = FIXEDH;     /* number of hufts left in fixed_mem */	/* set up fake z_stream for memory routines */	z.zalloc = falloc;	z.zfree = Z_NULL;	z.opaque = (voidp)&f;	/* literal table */	for (k = 0; k < 144; k++)	    c[k] = 8;	for (; k < 256; k++)	    c[k] = 9;	for (; k < 280; k++)	    c[k] = 7;        for (; k < 288; k++)	    c[k] = 8;	fixed_bl = 7;	huft_build(c, 288, 257, cplens, cplext, &fixed_tl, &fixed_bl, &z);	/* distance table */	for (k = 0; k < 30; k++)#if	CPU_FAMILY==MC680X0	    ((volatile unsigned *)c)[k] = 5;#else	    c[k] = 5;#endif	fixed_bd = 5;	huft_build(c, 30, 0, cpdist, cpdext, &fixed_td, &fixed_bd, &z);	/* done */	fixed_built = 1;	zcfree (0, c);	}    *bl = fixed_bl;    *bd = fixed_bd;    *tl = fixed_tl;    *td = fixed_td;    return Z_OK;    }/******************************************************************************** inflate_trees_free - frees inflate trees** Free the malloc'ed tables built by huft_build(), which makes a linked* list of the tables it made, with the links in a dummy first entry of* each table.*/ static int inflate_trees_free    (    inflate_huft *	t,	/* table to free */    z_streamp		z       /* for zfree function */    )    {    register inflate_huft *p, *q, *r;    /* Reverse linked list */    p = Z_NULL;    q = t;    while (q != Z_NULL)	{	r = (q - 1)->next;	(q - 1)->next = p;	p = q;	q = r;	}    /* Go through linked list, freeing from the malloced (t[-1]) address. */    while (p != Z_NULL)	{	q = (--p)->next;	ZFREE(z,p);	p = q;	}     return Z_OK;    }/******************************************************************************** inflate_flush - flushes inflate** copy as much as possible from the sliding window to the output area*/ static int inflate_flush    (    inflate_blocks_statef * s,    z_streamp		z,    int 		r    )    {    uInt n;    Byte *p;    Byte *q;    /* local copies of source and destination pointers */    p = z->next_out;    q = s->read;    /* compute number of bytes to copy as far as end of window */    n = (uInt)((q <= s->write ? s->write : s->end) - q);    if (n > z->avail_out)	n = z->avail_out;    if (n && r == Z_BUF_ERROR)	r = Z_OK;    /* update counters */    z->avail_out -= n;    z->total_out += n;    /* update check information */    if (s->checkfn != Z_NULL)	z->adler = s->check = (*s->checkfn)(s->check, q, n);    /* copy as far as end of window */    memcpy(p, q, n);    p += n;    q += n;    /* see if more to copy at beginning of window */    if (q == s->end)	{	/* wrap pointers */	q = s->window;	if (s->write == s->end)	    s->write = s->window;	/* compute bytes to copy */	n = (uInt)(s->write - q);	if (n > z->avail_out)	    n = z->avail_out;	if (n && r == Z_BUF_ERROR)	    r = Z_OK;	/* update counters */	z->avail_out -= n;	z->total_out += n;	/* update check information */	if (s->checkfn != Z_NULL)	    z->adler = s->check = (*s->checkfn)(s->check, q, n);	/* copy */	memcpy(p, q, n);	p += n;	q += n;	}    /* update pointers */    z->next_out = p;    s->read = q;    /* done */    return r;    }/******************************************************************************** inflate_fast - inflate fast** Called with number of bytes left to write in window at least 258* (the maximum string length) and number of input bytes available* at least ten.  The ten bytes are six bytes for the longest length/* distance pair plus four bytes for overloading the bit buffer.*/ static int inflate_fast    (    uInt	bl,    uInt	bd,    inflate_huft * tl,    inflate_huft * td,    inflate_blocks_statef * s,    z_streamp	z    )    {    inflate_huft *t;	/* temporary pointer */    uInt e;             /* extra bits or operation */    uLong b;            /* bit buffer */    uInt k;             /* bits in bit buffer */    Byte *p;            /* input data pointer */    uInt n;             /* bytes available there */    Byte *q;            /* output window write pointer */    uInt m;             /* bytes to end of window or read pointer */    uInt ml;            /* mask for literal/length tree */    uInt md;            /* mask for distance tree */    uInt c;             /* bytes to copy */    uInt d;             /* distance back to copy from */    Byte *r;            /* copy source pointer */  /* load input, output, bit values */  LOAD  /* initialize masks */  ml = inflate_mask[bl];  md = inflate_mask[bd];  /* do until not enough input or output space for fast loop */  do {                          /* assume called with m >= 258 && n >= 10 */    /* get literal/length code */    GRABBITS(20)                /* max bits for literal/length code */    if ((e = (t = tl + ((uInt)b & ml))->exop) == 0)    {      DUMPBITS(t->bits)      Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?                "inflate:         * literal '%c'\n" :                "inflate:         * literal 0x%02x\n", t->base));      *q++ = (Byte)t->base;      m--;      continue;    }    do {      DUMPBITS(t->bits)      if (e & 16)      {        /* get extra bits for length */        e &= 15;        c = t->base + ((uInt)b & inflate_mask[e]);        DUMPBITS(e)        Tracevv((stderr, "inflate:         * length %u\n", c));        /* decode distance base of block to copy */        GRABBITS(15);           /* max bits for distance code */        e = (t = td + ((uInt)b & md))->exop;        do {          DUMPBITS(t->bits)          if (e & 16)          {            /* get extra bits to add to distance base */            e &= 15;            GRABBITS(e)         /* get extra bits (up to 13) */            d = t->base + ((uInt)b & inflate_mask[e]);            DUMPBITS(e)            Tracevv((stderr, "inflate:         * distance %u\n", d));            /* do the copy */            m -= c;            if ((uInt)(q - s->window) >= d)     /* offset before dest */            {                                   /*  just copy */              r = q - d;              *q++ = *r++;  c--;        /* minimum count is three, */              *q++ = *r++;  c--;        /*  so unroll loop a little */            }            else                        /* else offset after destination */            {              e = d - (uInt)(q - s->window); /* bytes from offset to end */              r = s->end - e;           /* pointer to offset */              if (c > e)                /* if source crosses, */              {                c -= e;                 /* copy to end of window */                do {                  *q++ = *r++;                } while (--e);                r = s->window;          /* copy rest from start of window */              }            }            do {                        /* copy all or what's left */              *q++ = *r++;            } while (--c);            break;          }          else if ((e & 64) == 0)            e = (t = t->next + ((uInt)b & inflate_mask[e]))->exop;          else          {            z->msg = (char*)"invalid distance code";            UNGRAB            UPDATE            return Z_DATA_ERROR;          }        } while (1);        break;      }      if ((e & 64) == 0)      {        if ((e = (t = t->next + ((uInt)b & inflate_mask[e]))->exop) == 0)        {          DUMPBITS(t->bits)          Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?                    "inflate:         * literal '%c'\n" :                    "inflate:         * literal 0x%02x\n", t->base));          *q++ = (Byte)t->base;          m--;          break;        }      }      else if (e & 32)      {        Tracevv((stderr, "inflate:         * end of block\n"));        UNGRAB        UPDATE        return Z_STREAM_END;      }      else      {        z->msg = (char*)"invalid literal/length code";        UNGRAB        UPDATE        return Z_DATA_ERROR;      }    } while (1);  } while (m >= 258 && n >= 10);  /* not enough input or output--restore pointers and return */  UNGRAB  UPDATE  return Z_OK;}/******************************************************************************** inflate_codes_new - inflate codes new** NOMANUAL*/ static inflate_codes_statef *inflate_codes_new(bl, bd, tl, td, z)uInt bl, bd;inflate_huft *tl;inflate_huft *td; /* need separate declaration for Borland C++ */z_streamp z;{  inflate_codes_statef *c;  if ((c = (inflate_codes_statef *)       ZALLOC(z,1,sizeof(struct inflate_codes_state))) != Z_NULL)  {    c->mode = START;    c->lbits = (Byte)bl;    c->dbits = (Byte)bd;    c->ltree = tl;    c->dtree = td;    Tracev((stderr, "inflate:       codes new\n"));  }  return c;}/******************************************************************************** inflate_codes - inflate codes**/ static int inflate_codes(s, z, r)inflate_blocks_statef *s;z_streamp z;int r;{  uInt j;               /* temporary storage */  inflate_huft *t;      /* temporary pointer */  uInt e;               /* extra bits or operation */  uLong b;              /* bit buffer */  uInt k;               /* bits in bit buffer */  Byte *p;             /* input data pointer */  uInt n;               /* bytes available there */  Byte *q;             /* output window write pointer */  uInt m;               /* bytes to end of window or read pointer */  Byte *f;             /* pointer to copy strings from */  inflate_codes_statef *c = s->sub.decode.codes;  /* codes state */  /* copy input/output information to locals (UPDATE macro restores) */  LOAD  /* process input and output based on current state */  while (1) switch (c->mode)  {             /* waiting for "i:"=input, "o:"=output, "x:"=nothing */    case START:         /* x: set up for LEN */#ifndef SLOW      if (m >= 258 && n >= 10)      {        UPDATE        r = inflate_fast(c->lbits, c->dbits, c->ltree, c->dtree, s, z);        LOAD        if (r != Z_OK)        {          c->mode = r == Z_STREAM_END ? WASH : BADCODE;          break;        }      }#endif /* !SLOW */      c->sub.code.need = c->lbits;      c->sub.code.tree = c->ltree;      c->mode = LEN;    case LEN:           /* i: get length/literal/eob next */      j = c->sub.code.need;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情深爱一区二区| 九九视频精品免费| 国内外精品视频| 国产精品久久久久久亚洲毛片 | 国产精品视频yy9299一区| 久久只精品国产| 日韩理论片中文av| 亚洲午夜国产一区99re久久| 日本最新不卡在线| 日韩美女啊v在线免费观看| 久久精品免视看| 亚洲成a人片在线不卡一二三区| 91美女片黄在线| 亚洲一二三区在线观看| 国产一区二区网址| 久久综合久色欧美综合狠狠| 欧美性极品少妇| 国产色婷婷亚洲99精品小说| 免费欧美在线视频| 26uuu色噜噜精品一区二区| 亚洲欧美一区二区久久| 在线亚洲一区观看| 亚洲国产精品激情在线观看| 老司机免费视频一区二区| 久久不见久久见中文字幕免费| 欧美a级理论片| 日本午夜一本久久久综合| 中文字幕精品一区二区精品绿巨人 | 在线亚洲精品福利网址导航| 久久久久久久国产精品影院| 极品少妇xxxx精品少妇偷拍| 精品国产免费人成电影在线观看四季 | 91在线免费视频观看| 91精品国产综合久久香蕉麻豆 | 国产精品一区三区| 国产精品麻豆网站| 欧美日韩一区二区三区高清| 久久电影国产免费久久电影| 国产欧美日韩精品a在线观看| 91视频com| 美女一区二区视频| 亚洲日本青草视频在线怡红院| 欧美日韩高清在线| 日韩不卡在线观看日韩不卡视频| 欧美日韩国产综合一区二区| 久久久久久免费毛片精品| 国产精品青草久久| 一区二区免费在线播放| 欧美日韩夫妻久久| 9i在线看片成人免费| 色婷婷久久久久swag精品 | 久久国产精品一区二区| 自拍偷在线精品自拍偷无码专区| 婷婷夜色潮精品综合在线| 国产在线播精品第三| 亚洲在线观看免费视频| 成人免费在线视频观看| 欧美一区二区私人影院日本| 97se狠狠狠综合亚洲狠狠| 在线免费观看日韩欧美| 亚洲精品老司机| 国产精品久久毛片| 蜜臀久久99精品久久久画质超高清| 自拍视频在线观看一区二区| 蜜臀久久久99精品久久久久久| 3atv一区二区三区| 亚洲超碰精品一区二区| 日韩精品自拍偷拍| 亚洲色图在线播放| 精品国产a毛片| 久久久久久久久伊人| 欧美一级黄色大片| 国产**成人网毛片九色 | 9191国产精品| 2023国产精华国产精品| 国产成人精品免费在线| 678五月天丁香亚洲综合网| 欧美视频日韩视频| 日韩一区欧美小说| 亚洲欧美日韩国产中文在线| 一区二区三区 在线观看视频| 亚洲啪啪综合av一区二区三区| 日韩av一区二| 国产在线精品一区在线观看麻豆| 成人avav影音| 欧美电影免费观看高清完整版在线 | 中文字幕av资源一区| 亚洲第一激情av| 日本一区二区三区高清不卡| 欧美aⅴ一区二区三区视频| 亚洲午夜一区二区三区| 亚洲国产日日夜夜| 免费在线观看成人| 91.xcao| 成人综合在线网站| 精品精品国产高清一毛片一天堂| 欧美成人免费网站| 色综合中文综合网| 99久久婷婷国产精品综合| 欧美xxxxx牲另类人与| 中文字幕佐山爱一区二区免费| 国产久卡久卡久卡久卡视频精品| 国产a精品视频| 欧美精品乱码久久久久久按摩| 成人午夜碰碰视频| 国产精品亚洲第一| 精品中文av资源站在线观看| 欧美一区二区精品| 日韩一区二区视频| 免费在线视频一区| 国产午夜精品美女毛片视频| 精品成a人在线观看| 自拍偷拍亚洲欧美日韩| 日韩电影在线观看电影| 成人高清视频在线| 精品在线亚洲视频| 国产精品色眯眯| 欧美国产欧美亚州国产日韩mv天天看完整 | 成人午夜免费视频| 三级欧美在线一区| 成人激情视频网站| 日本怡春院一区二区| 久久九九全国免费| 久久精品国产99国产精品| 国内精品伊人久久久久av影院| 欧美一区二区不卡视频| 加勒比av一区二区| 久久精品免费看| 国产伦精品一区二区三区在线观看| av激情综合网| 亚洲一区二区三区美女| 亚洲欧洲一区二区三区| 福利一区在线观看| 国产寡妇亲子伦一区二区| 国产一区二区在线影院| 国产在线视视频有精品| 日日夜夜免费精品| 国产麻豆精品95视频| 99久精品国产| 在线国产电影不卡| 日韩三级视频在线看| 亚洲色图制服诱惑| 欧美综合欧美视频| 欧美中文字幕一区| 国产精品亚洲一区二区三区妖精| 亚洲与欧洲av电影| 成人午夜激情影院| 国产成人av自拍| 99re这里只有精品6| 日本vs亚洲vs韩国一区三区二区 | 欧美电影免费观看高清完整版在线| 美国十次了思思久久精品导航| 亚洲视频免费看| 亚洲电影一区二区三区| 欧美大片国产精品| 91官网在线观看| 51精品秘密在线观看| 国产成+人+日韩+欧美+亚洲| 国产曰批免费观看久久久| 97久久超碰国产精品电影| 欧美性做爰猛烈叫床潮| 国内精品免费**视频| 国产麻豆精品在线观看| 久久99精品国产麻豆婷婷洗澡| 日本韩国一区二区| 欧美电影免费观看高清完整版在 | 蜜臀av在线播放一区二区三区 | aaa亚洲精品一二三区| 国产精品三级久久久久三级| 亚洲视频在线观看三级| 无吗不卡中文字幕| 亚洲成人av中文| 日本一区二区在线不卡| 亚洲一区二区高清| 国产原创一区二区| 中文字幕成人av| 久久国产夜色精品鲁鲁99| 欧美电影免费观看高清完整版在 | 91原创在线视频| 国产成人av福利| 欧美日韩www| 国产成人高清视频| 亚洲午夜久久久| 国产麻豆精品在线| 91视频观看视频| 欧美大肚乱孕交hd孕妇| 亚洲精品写真福利| 午夜精品久久久久久久久久| 自拍偷拍欧美激情| 国产成人午夜视频| 日韩一区二区三区视频| 国产麻豆欧美日韩一区| 一区二区三区av电影| 国产**成人网毛片九色| 亚洲成人动漫在线观看| 亚洲宅男天堂在线观看无病毒| 欧美一区二区三区日韩| 这里只有精品免费| 国产无一区二区| 久久精品一区二区三区av|