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

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

?? inffast.c

?? 在DSPF2812下
?? C
字號:
/* inffast.c -- process literals and length/distance pairs fast
 * Copyright (C) 1995-1998 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一区二区三区免费野_久草精品视频
日本不卡一二三| 天天av天天翘天天综合网| 欧美另类z0zxhd电影| 不卡的av在线播放| 99re这里都是精品| 91女神在线视频| 91免费版pro下载短视频| 99re成人在线| 91麻豆swag| 欧美日韩精品高清| 欧美一级xxx| 精品国产一区二区三区久久久蜜月| 欧美成人精品福利| 国产精品久久综合| 一区二区三区在线免费| 日本美女一区二区三区视频| 精久久久久久久久久久| 国产成人午夜视频| 91免费看`日韩一区二区| 欧美色综合久久| 精品国产免费人成在线观看| 国产欧美日韩综合| 亚洲一区二区欧美激情| 麻豆精品蜜桃视频网站| 99视频精品在线| 欧洲激情一区二区| 欧美一卡二卡三卡| 国产精品久久久久久久蜜臀 | 亚洲日本护士毛茸茸| 亚洲日本一区二区| 毛片av中文字幕一区二区| 粉嫩av一区二区三区粉嫩 | 美国十次综合导航| 成人妖精视频yjsp地址| 欧美日韩激情在线| 久久久久久久性| 一区二区三区不卡视频 | 国产精品美女久久久久aⅴ | 久久你懂得1024| 伊人开心综合网| 国产乱对白刺激视频不卡| 91亚洲男人天堂| 26uuu国产一区二区三区| 一区二区三区国产精华| 国产成人精品一区二区三区四区| 欧美丝袜丝nylons| 国产女同性恋一区二区| 日韩电影在线看| 色拍拍在线精品视频8848| 欧美精品一区二区蜜臀亚洲| 亚洲国产成人porn| 97精品国产露脸对白| 久久看人人爽人人| 久久99国内精品| 欧美一区二区三区视频在线观看| 亚洲精品欧美激情| av中文字幕不卡| 国产蜜臀97一区二区三区| 看片的网站亚洲| 欧美一区二区三区啪啪| 午夜精彩视频在线观看不卡| 色婷婷久久99综合精品jk白丝| 日本一区二区三区久久久久久久久不 | 不卡电影一区二区三区| 精品久久久久久亚洲综合网| 亚洲超丰满肉感bbw| 在线免费观看不卡av| 亚洲欧美日韩久久精品| thepron国产精品| 日本一区二区三区四区在线视频| 九九视频精品免费| 欧美大黄免费观看| 奇米一区二区三区| 91精品综合久久久久久| 五月激情综合婷婷| 91精品国产入口在线| 日韩成人午夜精品| 欧美mv和日韩mv国产网站| 美女视频免费一区| 精品对白一区国产伦| 国产精品一区二区在线观看不卡| 久久综合资源网| 成人天堂资源www在线| 17c精品麻豆一区二区免费| 99久久国产综合色|国产精品| 亚洲欧洲精品一区二区三区 | 久久久久国产精品厨房| 国产成人免费视| 亚洲视频在线一区观看| 欧美在线免费播放| 美脚の诱脚舐め脚责91 | 亚洲午夜三级在线| 欧美精品久久天天躁| 麻豆免费精品视频| 中文乱码免费一区二区 | 久99久精品视频免费观看| 久久综合中文字幕| 91视频xxxx| 精油按摩中文字幕久久| 国产精品私人影院| 欧美三级在线播放| 国内精品国产三级国产a久久| 久久亚洲精品国产精品紫薇| 97se亚洲国产综合自在线| 舔着乳尖日韩一区| 久久精品欧美日韩| 欧美综合一区二区| 久久99精品久久久久| 亚洲精品菠萝久久久久久久| 91精品国产综合久久久久久漫画 | 国产成人综合精品三级| 亚洲欧美一区二区三区久本道91| 宅男噜噜噜66一区二区66| 国产一区二区三区高清播放| 一区二区三区免费观看| 制服丝袜亚洲色图| 成人毛片老司机大片| 亚州成人在线电影| 中文字幕欧美一| 精品国产乱码久久久久久老虎| 99久久免费精品高清特色大片| 日本伊人色综合网| 日韩毛片在线免费观看| 欧美精品一区二区在线播放| 色偷偷久久人人79超碰人人澡 | 欧美在线播放高清精品| 精品影视av免费| 亚洲成人免费视| 中文字幕五月欧美| 久久久久久久久蜜桃| 欧美精品在线一区二区三区| av电影一区二区| 国产一区二区久久| 久久激情五月婷婷| 日韩精品一二三区| 亚洲在线中文字幕| 中文字幕一区二区视频| 国产午夜精品久久久久久久| 精品少妇一区二区三区免费观看| 欧美三级电影网| 欧美在线短视频| 在线观看不卡一区| 一本到不卡精品视频在线观看 | 亚洲第一福利视频在线| 日韩美女久久久| 18欧美亚洲精品| 国产精品网站导航| 日韩欧美亚洲国产精品字幕久久久 | 国产成人午夜99999| 午夜精品久久久久影视| 天涯成人国产亚洲精品一区av| 一区二区国产盗摄色噜噜| 亚洲视频免费在线观看| 亚洲私人影院在线观看| 亚洲色图制服丝袜| 亚洲一区二区三区三| 亚洲观看高清完整版在线观看 | 欧美一区二区在线不卡| 欧美日韩一区二区三区在线| 欧美色精品在线视频| 欧美喷水一区二区| 日韩视频中午一区| 精品国产乱码久久久久久图片| 26uuu成人网一区二区三区| 国产清纯在线一区二区www| 欧美激情中文不卡| 亚洲女同女同女同女同女同69| 亚洲国产精品久久不卡毛片 | 91丝袜高跟美女视频| 色哟哟精品一区| 欧美色图激情小说| 亚洲精品一区二区三区99| 久久精品亚洲国产奇米99| 国产精品福利电影一区二区三区四区| 国产精品丝袜黑色高跟| 一区二区在线观看av| 男女激情视频一区| 成人精品亚洲人成在线| 色菇凉天天综合网| 日韩欧美在线一区二区三区| 久久久久久免费毛片精品| 国产精品久久国产精麻豆99网站| 亚洲婷婷国产精品电影人久久| 午夜av一区二区| 成人午夜激情片| 欧美日韩国产小视频| 久久精品男人天堂av| 香港成人在线视频| 国产精品 欧美精品| 欧美日韩在线播放一区| 国产日韩三级在线| 日日骚欧美日韩| 99久久99久久精品免费观看| 91精品国产综合久久久久久久久久| 久久免费看少妇高潮| 亚洲最色的网站| 国产成人综合在线观看| 欧美理论在线播放| 亚洲女人****多毛耸耸8| 国产精品一二三在|