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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? unlzh.c

?? tftp client sorser code,Please download it and compolie it ,byebye
?? C
字號:
/* unlzh.c -- decompress files in SCO compress -H (LZH) format. * The code in this file is directly derived from the public domain 'ar002' * written by Haruhiko Okumura. */#ifdef RCSIDstatic char rcsid[] = "$Id: unlzh.c,v 1.2 1993/06/24 10:59:01 jloup Exp $";#endif#include <stdio.h>#include "tailor.h"#include "gzip.h"#include "lzw.h" /* just for consistency checking *//* decode.c */local unsigned  decode  OF((unsigned count, uch buffer[]));local void decode_start OF((void));/* huf.c */local void huf_decode_start OF((void));local unsigned decode_c     OF((void));local unsigned decode_p     OF((void));local void read_pt_len      OF((int nn, int nbit, int i_special));local void read_c_len       OF((void));/* io.c */local void fillbuf      OF((int n));local unsigned getbits  OF((int n));local void init_getbits OF((void));/* maketbl.c */local void make_table OF((int nchar, uch bitlen[],			  int tablebits, ush table[]));#define DICBIT    13    /* 12(-lh4-) or 13(-lh5-) */#define DICSIZ ((unsigned) 1 << DICBIT)#ifndef CHAR_BIT#  define CHAR_BIT 8#endif#ifndef UCHAR_MAX#  define UCHAR_MAX 255#endif#define BITBUFSIZ (CHAR_BIT * 2 * sizeof(char))/* Do not use CHAR_BIT * sizeof(bitbuf), does not work on machines * for which short is not on 16 bits (Cray). *//* encode.c and decode.c */#define MAXMATCH 256    /* formerly F (not more than UCHAR_MAX + 1) */#define THRESHOLD  3    /* choose optimal value *//* huf.c */#define NC (UCHAR_MAX + MAXMATCH + 2 - THRESHOLD)	/* alphabet = {0, 1, 2, ..., NC - 1} */#define CBIT 9  /* $\lfloor \log_2 NC \rfloor + 1$ */#define CODE_BIT  16  /* codeword length */#define NP (DICBIT + 1)#define NT (CODE_BIT + 3)#define PBIT 4  /* smallest integer such that (1U << PBIT) > NP */#define TBIT 5  /* smallest integer such that (1U << TBIT) > NT */#if NT > NP# define NPT NT#else# define NPT NP#endif/* local ush left[2 * NC - 1]; *//* local ush right[2 * NC - 1]; */#define left  prev#define right head#if NC > (1<<(BITS-2))    error cannot overlay left+right and prev#endif/* local uch c_len[NC]; */#define c_len outbuf#if NC > OUTBUFSIZ    error cannot overlay c_len and outbuf#endiflocal uch pt_len[NPT];local unsigned blocksize;local ush pt_table[256];/* local ush c_table[4096]; */#define c_table d_buf#if (DIST_BUFSIZE-1) < 4095    error cannot overlay c_table and d_buf#endif/***********************************************************        io.c -- input/output***********************************************************/local ush       bitbuf;local unsigned  subbitbuf;local int       bitcount;local void fillbuf(n)  /* Shift bitbuf n bits left, read n bits */    int n;{    bitbuf <<= n;    while (n > bitcount) {	bitbuf |= subbitbuf << (n -= bitcount);	subbitbuf = (unsigned)try_byte();	if ((int)subbitbuf == EOF) subbitbuf = 0;	bitcount = CHAR_BIT;    }    bitbuf |= subbitbuf >> (bitcount -= n);}local unsigned getbits(n)    int n;{    unsigned x;    x = bitbuf >> (BITBUFSIZ - n);  fillbuf(n);    return x;}local void init_getbits(){    bitbuf = 0;  subbitbuf = 0;  bitcount = 0;    fillbuf(BITBUFSIZ);}/***********************************************************	maketbl.c -- make table for decoding***********************************************************/local void make_table(nchar, bitlen, tablebits, table)    int nchar;    uch bitlen[];    int tablebits;    ush table[];{    ush count[17], weight[17], start[18], *p;    unsigned i, k, len, ch, jutbits, avail, nextcode, mask;    for (i = 1; i <= 16; i++) count[i] = 0;    for (i = 0; i < (unsigned)nchar; i++) count[bitlen[i]]++;    start[1] = 0;    for (i = 1; i <= 16; i++)	start[i + 1] = start[i] + (count[i] << (16 - i));    if ((start[17] & 0xffff) != 0)	error("Bad table\n");    jutbits = 16 - tablebits;    for (i = 1; i <= (unsigned)tablebits; i++) {	start[i] >>= jutbits;	weight[i] = (unsigned) 1 << (tablebits - i);    }    while (i <= 16) {	weight[i] = (unsigned) 1 << (16 - i);	i++;    }    i = start[tablebits + 1] >> jutbits;    if (i != 0) {	k = 1 << tablebits;	while (i != k) table[i++] = 0;    }    avail = nchar;    mask = (unsigned) 1 << (15 - tablebits);    for (ch = 0; ch < (unsigned)nchar; ch++) {	if ((len = bitlen[ch]) == 0) continue;	nextcode = start[len] + weight[len];	if (len <= (unsigned)tablebits) {	    for (i = start[len]; i < nextcode; i++) table[i] = ch;	} else {	    k = start[len];	    p = &table[k >> jutbits];	    i = len - tablebits;	    while (i != 0) {		if (*p == 0) {		    right[avail] = left[avail] = 0;		    *p = avail++;		}		if (k & mask) p = &right[*p];		else          p = &left[*p];		k <<= 1;  i--;	    }	    *p = ch;	}	start[len] = nextcode;    }}/***********************************************************        huf.c -- static Huffman***********************************************************/local void read_pt_len(nn, nbit, i_special)    int nn;    int nbit;    int i_special;{    int i, c, n;    unsigned mask;    n = getbits(nbit);    if (n == 0) {	c = getbits(nbit);	for (i = 0; i < nn; i++) pt_len[i] = 0;	for (i = 0; i < 256; i++) pt_table[i] = c;    } else {	i = 0;	while (i < n) {	    c = bitbuf >> (BITBUFSIZ - 3);	    if (c == 7) {		mask = (unsigned) 1 << (BITBUFSIZ - 1 - 3);		while (mask & bitbuf) {  mask >>= 1;  c++;  }	    }	    fillbuf((c < 7) ? 3 : c - 3);	    pt_len[i++] = c;	    if (i == i_special) {		c = getbits(2);		while (--c >= 0) pt_len[i++] = 0;	    }	}	while (i < nn) pt_len[i++] = 0;	make_table(nn, pt_len, 8, pt_table);    }}local void read_c_len(){    int i, c, n;    unsigned mask;    n = getbits(CBIT);    if (n == 0) {	c = getbits(CBIT);	for (i = 0; i < NC; i++) c_len[i] = 0;	for (i = 0; i < 4096; i++) c_table[i] = c;    } else {	i = 0;	while (i < n) {	    c = pt_table[bitbuf >> (BITBUFSIZ - 8)];	    if (c >= NT) {		mask = (unsigned) 1 << (BITBUFSIZ - 1 - 8);		do {		    if (bitbuf & mask) c = right[c];		    else               c = left [c];		    mask >>= 1;		} while (c >= NT);	    }	    fillbuf((int) pt_len[c]);	    if (c <= 2) {		if      (c == 0) c = 1;		else if (c == 1) c = getbits(4) + 3;		else             c = getbits(CBIT) + 20;		while (--c >= 0) c_len[i++] = 0;	    } else c_len[i++] = c - 2;	}	while (i < NC) c_len[i++] = 0;	make_table(NC, c_len, 12, c_table);    }}local unsigned decode_c(){    unsigned j, mask;    if (blocksize == 0) {	blocksize = getbits(16);	if (blocksize == 0) {	    return NC; /* end of file */	}	read_pt_len(NT, TBIT, 3);	read_c_len();	read_pt_len(NP, PBIT, -1);    }    blocksize--;    j = c_table[bitbuf >> (BITBUFSIZ - 12)];    if (j >= NC) {	mask = (unsigned) 1 << (BITBUFSIZ - 1 - 12);	do {	    if (bitbuf & mask) j = right[j];	    else               j = left [j];	    mask >>= 1;	} while (j >= NC);    }    fillbuf((int) c_len[j]);    return j;}local unsigned decode_p(){    unsigned j, mask;    j = pt_table[bitbuf >> (BITBUFSIZ - 8)];    if (j >= NP) {	mask = (unsigned) 1 << (BITBUFSIZ - 1 - 8);	do {	    if (bitbuf & mask) j = right[j];	    else               j = left [j];	    mask >>= 1;	} while (j >= NP);    }    fillbuf((int) pt_len[j]);    if (j != 0) j = ((unsigned) 1 << (j - 1)) + getbits((int) (j - 1));    return j;}local void huf_decode_start(){    init_getbits();  blocksize = 0;}/***********************************************************        decode.c***********************************************************/local int j;    /* remaining bytes to copy */local int done; /* set at end of input */local void decode_start(){    huf_decode_start();    j = 0;    done = 0;}/* Decode the input and return the number of decoded bytes put in buffer */local unsigned decode(count, buffer)    unsigned count;    uch buffer[];    /* The calling function must keep the number of       bytes to be processed.  This function decodes       either 'count' bytes or 'DICSIZ' bytes, whichever       is smaller, into the array 'buffer[]' of size       'DICSIZ' or more.       Call decode_start() once for each new file       before calling this function.     */{    local unsigned i;    unsigned r, c;    r = 0;    while (--j >= 0) {	buffer[r] = buffer[i];	i = (i + 1) & (DICSIZ - 1);	if (++r == count) return r;    }    for ( ; ; ) {	c = decode_c();	if (c == NC) {	    done = 1;	    return r;	}	if (c <= UCHAR_MAX) {	    buffer[r] = c;	    if (++r == count) return r;	} else {	    j = c - (UCHAR_MAX + 1 - THRESHOLD);	    i = (r - decode_p() - 1) & (DICSIZ - 1);	    while (--j >= 0) {		buffer[r] = buffer[i];		i = (i + 1) & (DICSIZ - 1);		if (++r == count) return r;	    }	}    }}/* =========================================================================== * Unlzh in to out. Return OK or ERROR. */int unlzh(in, out)    int in;    int out;{    unsigned n;    ifd = in;    ofd = out;    decode_start();    while (!done) {	n = decode((unsigned) DICSIZ, window);	if (!test && n > 0) {	    write_buf(out, (char*)window, n);	}    }    return OK;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色老汉av一区二区三区| 奇米在线7777在线精品| av电影天堂一区二区在线| 亚洲国产精品t66y| 成av人片一区二区| 亚洲精品精品亚洲| 欧美高清视频不卡网| 人禽交欧美网站| 久久久五月婷婷| 成人听书哪个软件好| 亚洲欧美另类久久久精品2019| 91久久精品一区二区| 亚洲第一久久影院| 精品久久国产97色综合| 成人免费看黄yyy456| 一级日本不卡的影视| 欧美一区二区成人6969| 国产精品一区二区久激情瑜伽| 国产精品拍天天在线| 欧美在线999| 精一区二区三区| 欧美国产日本韩| 欧美日韩你懂的| 国产精品99精品久久免费| 亚洲精品成a人| 日韩免费电影网站| 91天堂素人约啪| 奇米色一区二区三区四区| 国产三级欧美三级日产三级99 | 91精品国产高清一区二区三区| 奇米四色…亚洲| 自拍偷拍欧美精品| 欧美成人一级视频| 日本韩国一区二区| 国产激情一区二区三区四区| 亚洲福利一区二区| 国产日本欧洲亚洲| 8x福利精品第一导航| 不卡大黄网站免费看| 免费成人在线影院| 一区二区日韩av| 国产精品女主播av| 精品理论电影在线| 在线观看国产日韩| 东方aⅴ免费观看久久av| 日韩专区欧美专区| 亚洲精品亚洲人成人网在线播放| www久久久久| 欧美一级一区二区| 欧美午夜精品一区二区蜜桃| 国产白丝网站精品污在线入口| 男男成人高潮片免费网站| 夜色激情一区二区| 日韩美女啊v在线免费观看| 久久久影院官网| 欧美大白屁股肥臀xxxxxx| 欧美无砖专区一中文字| 99久久综合精品| 欧美一区二区三区在线观看视频| 91色porny蝌蚪| 成人短视频下载| 国产资源在线一区| 精一区二区三区| 麻豆国产一区二区| 麻豆成人91精品二区三区| 亚洲成av人影院在线观看网| 一级中文字幕一区二区| 一区二区三区色| 亚洲美女精品一区| 亚洲另类春色校园小说| 中文字幕日韩精品一区| 国产精品私房写真福利视频| 久久精品水蜜桃av综合天堂| 久久午夜羞羞影院免费观看| 日韩欧美一级特黄在线播放| 欧美久久久久中文字幕| 欧美日本韩国一区| 欧美一区二区三区公司| 91精品国产综合久久国产大片| 欧美色图天堂网| 精品视频1区2区| 91.com视频| 欧美不卡123| 久久亚洲春色中文字幕久久久| 久久久久久久久岛国免费| 亚洲国产精品ⅴa在线观看| 中文字幕成人网| 亚洲女同ⅹxx女同tv| 亚洲黄网站在线观看| 一区二区三区在线不卡| 日韩在线a电影| 激情五月播播久久久精品| 国产成人鲁色资源国产91色综| 成a人片国产精品| 欧美日韩一区二区三区免费看| 欧美另类z0zxhd电影| 日韩欧美在线综合网| 国产色产综合色产在线视频| 激情综合五月婷婷| 99久久精品国产一区二区三区| 99re热这里只有精品免费视频| 欧美性大战久久久| 精品少妇一区二区三区在线播放| 欧美激情综合五月色丁香小说| 亚洲欧美视频在线观看| 免费观看一级特黄欧美大片| 国产成a人无v码亚洲福利| 欧美在线观看一二区| 久久综合九色欧美综合狠狠| 亚洲欧洲成人自拍| 免费在线观看一区二区三区| 丰满少妇在线播放bd日韩电影| 色婷婷av久久久久久久| 欧美一级国产精品| 综合网在线视频| 久久精品国产精品青草| 成人sese在线| 日韩精品一区二区在线观看| 中文字幕一区二区三区四区不卡| 亚洲永久精品大片| 国产精品中文字幕欧美| 欧美视频你懂的| 中文字幕精品在线不卡| 免费观看久久久4p| 不卡在线观看av| 精品捆绑美女sm三区| 亚洲午夜电影在线| 成人综合在线观看| 日韩一区二区精品在线观看| 有坂深雪av一区二区精品| 国内精品免费**视频| 欧美亚洲丝袜传媒另类| 中文字幕欧美激情| 蜜桃av一区二区在线观看| 日本高清不卡aⅴ免费网站| 久久久www成人免费毛片麻豆| 亚洲成人av中文| 色婷婷精品久久二区二区蜜臀av | 国产酒店精品激情| 精品视频1区2区| 亚洲精品乱码久久久久| 成人在线综合网站| 日韩精品一区二区三区视频在线观看| 亚洲乱码日产精品bd| av网站免费线看精品| 久久精品免费在线观看| 久久99精品视频| 欧美一级夜夜爽| 日本欧美在线看| 欧美伦理视频网站| 一区二区高清在线| 91麻豆精东视频| 亚洲桃色在线一区| 粉嫩欧美一区二区三区高清影视| 欧美成人国产一区二区| 无码av免费一区二区三区试看| 色综合久久久久久久久久久| 亚洲国产成人私人影院tom| 国产精品一二三区| 久久夜色精品国产噜噜av| 狠狠色丁香婷婷综合| 精品国产乱码久久久久久久久| 日韩国产欧美在线视频| 欧美日本不卡视频| 日韩国产欧美一区二区三区| 亚洲精品一卡二卡| 在线观看视频一区二区欧美日韩| 亚洲精品国产成人久久av盗摄| 91色porny| 亚洲成人av电影| 欧美一区二区视频在线观看| 青草国产精品久久久久久| 日韩美女视频在线| 国产精品自在在线| 亚洲国产高清aⅴ视频| 成人高清视频在线| 亚洲女人****多毛耸耸8| 在线视频一区二区三区| 日韩电影网1区2区| 久久这里只有精品6| 成人午夜av影视| 一区二区三区四区精品在线视频| 欧美三级视频在线| 青青草国产成人99久久| 国产欧美综合在线观看第十页| 国产二区国产一区在线观看| 最新高清无码专区| 欧美日韩在线三区| 蜜臀av在线播放一区二区三区| 欧美精品一区二区三区蜜臀| 成人综合在线网站| 亚洲中国最大av网站| 日韩无一区二区| 国产 欧美在线| 一区二区三区四区激情| 日韩女优av电影在线观看| 成人一级片网址| 亚洲观看高清完整版在线观看 | 在线免费av一区| 久久国内精品视频|