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

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

?? inffast.c

?? ocx 代碼
?? C
字號:
/* 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(bl, bd, tl, td, s, z)
uInt bl, bd;
inflate_huft *tl;
inflate_huft *td; /* need separate declaration for Borland C++ */
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 */
  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;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕视频一区二区三区久| 国产精品夜夜爽| 久久99精品视频| 一本久道中文字幕精品亚洲嫩| 精品处破学生在线二十三| 自拍偷拍亚洲欧美日韩| 精品一区二区三区免费毛片爱| 在线观看www91| 国产欧美va欧美不卡在线| 午夜精品久久久久久久久久久| 91在线精品一区二区| 久久久精品一品道一区| 免费人成精品欧美精品| 欧美三级韩国三级日本三斤| 国产精品二三区| 国产激情91久久精品导航 | 成人久久视频在线观看| 亚洲精品日日夜夜| 国产精品综合久久| 欧美成人性战久久| 日本va欧美va精品| 欧美日本韩国一区| 一区二区三区精品视频在线| 成人精品免费网站| 欧美国产成人精品| 国产成都精品91一区二区三| 精品国产凹凸成av人网站| 久久精品国产精品亚洲综合| 91精品国产麻豆国产自产在线| 天堂va蜜桃一区二区三区漫画版| 91免费观看国产| 亚洲精品高清在线| 欧洲视频一区二区| 亚洲一二三级电影| 4438x亚洲最大成人网| 三级成人在线视频| 日韩三级高清在线| 九一久久久久久| 久久久www成人免费无遮挡大片| 麻豆91精品视频| 欧美精品一区二区精品网| 国产一区欧美二区| 综合久久国产九一剧情麻豆| 成人免费视频一区二区| 国产精品国产自产拍高清av | 9l国产精品久久久久麻豆| 国产欧美va欧美不卡在线| 成人精品在线视频观看| 国产精品传媒入口麻豆| 色婷婷狠狠综合| 丝袜美腿亚洲一区二区图片| 91精品国产综合久久精品app| 美女网站在线免费欧美精品| 精品999久久久| 成人午夜视频在线观看| 亚洲综合区在线| 日韩一区二区三区电影| 国产成人精品免费在线| 亚洲色图在线视频| 日韩一区二区在线看片| 成人国产免费视频| 亚洲午夜精品一区二区三区他趣| 91精品国产美女浴室洗澡无遮挡| 国产主播一区二区三区| 玉足女爽爽91| 精品国偷自产国产一区| 色乱码一区二区三区88| 国产自产高清不卡| 亚洲综合免费观看高清完整版在线 | 久久无码av三级| 91网站视频在线观看| 日韩成人一级大片| 国产精品美日韩| 5858s免费视频成人| av资源网一区| 久久99热这里只有精品| 亚洲欧美偷拍卡通变态| 精品区一区二区| 91精品福利视频| 国产精品456露脸| 午夜欧美视频在线观看| 国产女人18毛片水真多成人如厕| 欧美日韩国产综合一区二区三区 | 亚洲电影你懂得| 国产无人区一区二区三区| 欧美乱熟臀69xxxxxx| 懂色av噜噜一区二区三区av| 亚洲成人一区二区在线观看| 中文字幕成人网| 欧美成人国产一区二区| 欧美亚一区二区| av中文字幕一区| 国产剧情在线观看一区二区| 丝袜a∨在线一区二区三区不卡| 中文无字幕一区二区三区| 日韩精品一区二区三区视频播放| 色视频一区二区| 成人伦理片在线| 国产精品 欧美精品| 九一九一国产精品| 丝瓜av网站精品一区二区| 一区二区三区在线视频免费| 国产精品无人区| 久久久亚洲欧洲日产国码αv| 91精品国产综合久久精品图片| 在线观看一区二区视频| 91蜜桃视频在线| 成人av资源在线| 国产成人免费av在线| 国产成人夜色高潮福利影视| 久久av中文字幕片| 久久国产精品露脸对白| 免费高清在线一区| 青青草97国产精品免费观看无弹窗版| 亚洲综合偷拍欧美一区色| 亚洲精品中文字幕在线观看| 亚洲日本在线视频观看| 国产精品高潮呻吟| ...中文天堂在线一区| 亚洲欧美在线视频观看| 国产精品美女久久久久久| 国产精品视频免费看| 国产精品五月天| 亚洲另类在线视频| 亚洲一区二区欧美日韩| 午夜精品久久久久久久久 | 中文字幕亚洲一区二区av在线| 国产欧美精品一区二区色综合朱莉 | 欧美日韩中文精品| 欧美日韩成人在线| 日韩一区二区三区四区| 精品嫩草影院久久| 中文字幕不卡在线观看| 亚洲欧美日韩系列| 偷拍亚洲欧洲综合| 国产又粗又猛又爽又黄91精品| 国内精品久久久久影院薰衣草| 欧美三区免费完整视频在线观看| 欧美日韩中文另类| 精品国产一区二区三区四区四| 精品国产123| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 日本在线观看不卡视频| 黄页视频在线91| 91视频观看视频| 91精品国产欧美一区二区18 | 国产成人免费9x9x人网站视频| 丁香啪啪综合成人亚洲小说| 色综合视频在线观看| 欧美一区二区精美| 国产日韩欧美综合一区| 一区二区激情视频| 国产一区二区三区免费看| 色激情天天射综合网| 337p亚洲精品色噜噜| 国产精品久久网站| 日韩精品乱码免费| bt欧美亚洲午夜电影天堂| 欧美蜜桃一区二区三区| 国产精品无码永久免费888| 五月婷婷色综合| 国产盗摄视频一区二区三区| 欧美这里有精品| 欧美精品一区二| 亚洲电影欧美电影有声小说| 国产成人综合在线播放| 91精品国产91久久久久久一区二区| 中文字幕乱码日本亚洲一区二区| 午夜精品免费在线观看| 9久草视频在线视频精品| 欧美电视剧在线看免费| 亚洲一区二区视频在线| 成人精品视频.| 久久综合九色综合欧美98| 亚洲成av人片在线| www..com久久爱| 欧美精品一区二区蜜臀亚洲| 五月婷婷色综合| 在线免费观看日韩欧美| 中文字幕五月欧美| 国产精品亚洲一区二区三区在线 | 在线亚洲一区二区| 国产精品午夜在线| 国产精品原创巨作av| 日韩一区二区三区免费观看| 一区二区三区影院| av在线不卡电影| 久久精品视频免费| 久久99热国产| 欧美高清视频不卡网| 亚洲一区二区中文在线| 色菇凉天天综合网| 国产精品理论在线观看| 国产成人在线看| 日本一区免费视频| 国产宾馆实践打屁股91| 国产夜色精品一区二区av| 韩国精品在线观看| 久久久av毛片精品| 国产成人免费在线观看不卡|