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

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

?? inffast.c

?? mp3 source code decoder & encoder
?? C
字號(hào):
/* inffast.c -- process literals and length/distance pairs fast
 * Copyright (C) 1995-1996 Mark Adler
 * For conditions of distribution and use, see copyright notice in zlib.h 
 */

#include "zutil.h"
#include "inftrees.h"
#include "infblock.h"
#include "infcodes.h"
#include "infutil.h"
#include "inffast.h"

struct inflate_codes_state {int dummy;}; /* for buggy compilers */

/* simplify the use of the inflate_huft type with some defines */
#define base more.Base
#define next more.Next
#define exop word.what.Exop
#define bits word.what.Bits

/* macros for bit input with no checking and for returning unused bytes */
#define GRABBITS(j) {while(k<(j)){b|=((uLong)NEXTBYTE)<<k;k+=8;}}
#define UNGRAB {n+=(c=k>>3);p-=c;k&=7;}

/* 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. */

int inflate_fast(uInt bl, uInt bd, inflate_huft *tl, inflate_huft *td, 
				 inflate_blocks_statef *s, z_streamp z)
/* td     need separate declaration for Borland C++ */
{
  inflate_huft *t;      /* temporary pointer */
  uInt e;               /* extra bits or operation */
  uLong b;              /* bit buffer */
  uInt k;               /* bits in bit buffer */
  Bytef *p;             /* input data pointer */
  uInt n;               /* bytes available there */
  Bytef *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 */
  Bytef *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;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产综合成人久久大片91| 日韩欧美专区在线| 成人晚上爱看视频| 国产精品一卡二卡在线观看| 另类的小说在线视频另类成人小视频在线| 亚洲成a人片综合在线| 午夜私人影院久久久久| 亚洲成av人片www| 日韩福利电影在线| 久久99久久久欧美国产| 极品少妇xxxx偷拍精品少妇| 国产一区二区三区精品视频 | jlzzjlzz亚洲日本少妇| 国产成人99久久亚洲综合精品| 国产·精品毛片| 91视频你懂的| 欧美亚洲丝袜传媒另类| 欧美精选在线播放| 精品久久久久一区二区国产| 久久久久久黄色| 国产精品伦理一区二区| 一区二区三区四区五区视频在线观看| 亚洲一级在线观看| 免费看欧美女人艹b| 国产精品影视在线观看| 99re在线视频这里只有精品| 在线观看视频一区二区| 7777精品伊人久久久大香线蕉经典版下载 | 日韩国产在线一| 激情久久五月天| 成人小视频免费观看| 色综合中文字幕国产| 欧美性生活一区| 欧美va亚洲va| 亚洲欧美自拍偷拍| 午夜精品福利在线| 国产成人啪免费观看软件| 色综合久久天天| 欧美顶级少妇做爰| 欧美激情综合网| 亚洲综合成人在线视频| 免费xxxx性欧美18vr| 波多野结衣精品在线| 欧美日韩精品一区二区三区| 国产亚洲人成网站| 亚洲高清一区二区三区| 国产一区二区不卡| 欧美丝袜自拍制服另类| 久久精品日产第一区二区三区高清版| 亚洲久草在线视频| 国产一区欧美二区| 97se亚洲国产综合在线| 日韩欧美aaaaaa| 夜夜嗨av一区二区三区中文字幕| 捆绑调教一区二区三区| 色综合久久综合网| 久久免费的精品国产v∧| 亚洲一级二级在线| 成人午夜短视频| 日韩一区二区三区高清免费看看 | 国产一区在线观看视频| 91福利资源站| 国产精品午夜久久| 蜜臀av一区二区三区| 一本大道久久a久久精品综合| 精品美女在线观看| 亚洲gay无套男同| 一本一道波多野结衣一区二区| 亚洲精品一区在线观看| 亚洲国产日产av| www.欧美日韩| 久久久国产午夜精品| 日本欧美大码aⅴ在线播放| 色综合久久久久综合体桃花网| 精品免费日韩av| 日韩不卡在线观看日韩不卡视频| 99国产精品99久久久久久| 久久九九99视频| 蜜臀精品一区二区三区在线观看| 在线看一区二区| 亚洲欧洲日韩综合一区二区| 国产乱国产乱300精品| 日韩精品最新网址| 午夜精品久久久久久久蜜桃app| 91在线观看视频| 国产清纯在线一区二区www| 激情综合亚洲精品| 91精品国产综合久久国产大片| 亚洲一卡二卡三卡四卡无卡久久| 色综合中文字幕国产 | 91视频国产观看| 国产精品久久久爽爽爽麻豆色哟哟 | 国内精品久久久久影院一蜜桃| 欧美日韩1区2区| 亚洲一区二区av电影| 欧美亚洲尤物久久| 亚洲精品乱码久久久久久久久| 91看片淫黄大片一级在线观看| 中文字幕一区二区日韩精品绯色| www.色精品| 1区2区3区精品视频| 不卡视频免费播放| 国产精品国产三级国产| 99久久国产综合精品麻豆| 亚洲国产精品成人综合| 成人深夜视频在线观看| 国产精品乱码一区二区三区软件| 成人黄动漫网站免费app| 中文字幕一区av| 色哟哟在线观看一区二区三区| 亚洲天堂久久久久久久| 色婷婷av一区二区三区gif| 亚洲欧美一区二区三区极速播放| 99久久综合狠狠综合久久| 亚洲欧美日韩综合aⅴ视频| 色婷婷久久久综合中文字幕| 亚洲午夜三级在线| 欧美精品自拍偷拍| 天堂蜜桃一区二区三区| 日韩欧美中文一区二区| 国产乱码一区二区三区| 国产精品美女视频| 在线视频观看一区| 手机精品视频在线观看| 精品人伦一区二区色婷婷| 国产精品影视在线| 亚洲人成在线播放网站岛国| 在线看不卡av| 美国十次综合导航| 日韩女优视频免费观看| 国产成人超碰人人澡人人澡| 亚洲欧美一区二区三区久本道91| 欧美另类变人与禽xxxxx| 麻豆精品久久久| 国产精品久久777777| 欧美自拍偷拍一区| 免费看欧美女人艹b| 国产精品免费视频观看| 在线电影院国产精品| 国产精品综合二区| 亚洲激情一二三区| 欧美xingq一区二区| www.欧美日韩| 视频一区二区三区入口| 久久久99精品免费观看| 在线免费av一区| 国产美女视频一区| 亚洲免费av高清| 日韩三级视频在线看| 成人午夜又粗又硬又大| 性感美女久久精品| 亚洲国产高清在线观看视频| 欧洲中文字幕精品| 国产乱子伦一区二区三区国色天香| 亚洲欧美在线另类| 精品日韩一区二区| 欧亚洲嫩模精品一区三区| 九一久久久久久| 一二三四区精品视频| 久久婷婷久久一区二区三区| 在线一区二区三区| 国产精品一区一区| 偷拍一区二区三区| 中文字幕一区二区三| 久久综合九色综合欧美98| 精品视频999| 国产另类ts人妖一区二区| 亚洲va欧美va人人爽| 国产精品国产精品国产专区不蜜| 欧美变态tickling挠脚心| 欧美日韩免费一区二区三区 | 欧美日韩一区二区三区不卡| 国产成人精品免费看| 美日韩黄色大片| 亚洲综合在线观看视频| 国产精品入口麻豆九色| 精品裸体舞一区二区三区| 欧美喷潮久久久xxxxx| 91国内精品野花午夜精品| 成人午夜在线播放| 国产乱国产乱300精品| 老司机精品视频在线| 五月综合激情网| 亚洲国产视频a| 亚洲另类春色国产| 国产精品免费免费| 久久精品一区四区| 精品日韩99亚洲| 日韩精品一区二区三区在线观看| 欧美三级电影在线看| 色素色在线综合| 色综合咪咪久久| 99免费精品在线观看| 成人黄色小视频| 丁香六月久久综合狠狠色| 国产一级精品在线| 国产成人亚洲精品狼色在线| 精品一区二区av| 麻豆传媒一区二区三区| 久久不见久久见免费视频1|