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

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

?? write.c

?? 這是一個同樣來自貝爾實驗室的和UNIX有著淵源的操作系統, 其簡潔的設計和實現易于我們學習和理解
?? C
字號:
#include <u.h>#include <libc.h>#include <draw.h>#include <memdraw.h>#define	CHUNK	8000#define	HSHIFT	3	/* HSHIFT==5 runs slightly faster, but hash table is 64x bigger */#define	NHASH	(1<<(HSHIFT*NMATCH))#define	HMASK	(NHASH-1)#define	hupdate(h, c)	((((h)<<HSHIFT)^(c))&HMASK)typedef struct Hlist Hlist;struct Hlist{	uchar *s;	Hlist *next, *prev;};intwritememimage(int fd, Memimage *i){	uchar *outbuf, *outp, *eout;		/* encoded data, pointer, end */	uchar *loutp;				/* start of encoded line */	Hlist *hash;				/* heads of hash chains of past strings */	Hlist *chain, *hp;			/* hash chain members, pointer */	Hlist *cp;				/* next Hlist to fall out of window */	int h;					/* hash value */	uchar *line, *eline;			/* input line, end pointer */	uchar *data, *edata;			/* input buffer, end pointer */	ulong n;				/* length of input buffer */	ulong nb;				/* # of bytes returned by unloadimage */	int bpl;				/* input line length */	int offs, runlen;			/* offset, length of consumed data */	uchar dumpbuf[NDUMP];			/* dump accumulator */	int ndump;				/* length of dump accumulator */	int miny, dy;				/* y values while unloading input */	int ncblock;				/* size of compressed blocks */	Rectangle r;	uchar *p, *q, *s, *es, *t;	char hdr[11+5*12+1];	char cbuf[20];	r = i->r;	bpl = bytesperline(r, i->depth);	n = Dy(r)*bpl;	data = malloc(n);	ncblock = _compblocksize(r, i->depth);	outbuf = malloc(ncblock);	hash = malloc(NHASH*sizeof(Hlist));	chain = malloc(NMEM*sizeof(Hlist));	if(data == 0 || outbuf == 0 || hash == 0 || chain == 0){	ErrOut:		free(data);		free(outbuf);		free(hash);		free(chain);		return -1;	}	for(miny = r.min.y; miny != r.max.y; miny += dy){		dy = r.max.y-miny;		if(dy*bpl > CHUNK)			dy = CHUNK/bpl;		nb = unloadmemimage(i, Rect(r.min.x, miny, r.max.x, miny+dy),			data+(miny-r.min.y)*bpl, dy*bpl);		if(nb != dy*bpl)			goto ErrOut;	}	sprint(hdr, "compressed\n%11s %11d %11d %11d %11d ",		chantostr(cbuf, i->chan), r.min.x, r.min.y, r.max.x, r.max.y);	if(write(fd, hdr, 11+5*12) != 11+5*12)		goto ErrOut;	edata = data+n;	eout = outbuf+ncblock;	line = data;	r.max.y = r.min.y;	while(line != edata){		memset(hash, 0, NHASH*sizeof(Hlist));		memset(chain, 0, NMEM*sizeof(Hlist));		cp = chain;		h = 0;		outp = outbuf;		for(n = 0; n != NMATCH; n++)			h = hupdate(h, line[n]);		loutp = outbuf;		while(line != edata){			ndump = 0;			eline = line+bpl;			for(p = line; p != eline; ){				if(eline-p < NRUN)					es = eline;				else					es = p+NRUN;				q = 0;				runlen = 0;				for(hp = hash[h].next; hp; hp = hp->next){					s = p + runlen;					if(s >= es)						continue;					t = hp->s + runlen;					for(; s >= p; s--)						if(*s != *t--)							goto matchloop;					t += runlen+2;					s += runlen+2;					for(; s < es; s++)						if(*s != *t++)							break;					n = s-p;					if(n > runlen){						runlen = n;						q = hp->s;						if(n == NRUN)							break;					}			matchloop: ;				}				if(runlen < NMATCH){					if(ndump == NDUMP){						if(eout-outp < ndump+1)							goto Bfull;						*outp++ = ndump-1+128;						memmove(outp, dumpbuf, ndump);						outp += ndump;						ndump = 0;					}					dumpbuf[ndump++] = *p;					runlen = 1;				}				else{					if(ndump != 0){						if(eout-outp < ndump+1)							goto Bfull;						*outp++ = ndump-1+128;						memmove(outp, dumpbuf, ndump);						outp += ndump;						ndump = 0;					}					offs = p-q-1;					if(eout-outp < 2)						goto Bfull;					*outp++ = ((runlen-NMATCH)<<2) + (offs>>8);					*outp++ = offs&255;				}				for(q = p+runlen; p != q; p++){					if(cp->prev)						cp->prev->next = 0;					cp->next = hash[h].next;					cp->prev = &hash[h];					if(cp->next)						cp->next->prev = cp;					cp->prev->next = cp;					cp->s = p;					if(++cp == &chain[NMEM])						cp = chain;					if(edata-p > NMATCH)						h = hupdate(h, p[NMATCH]);				}			}			if(ndump != 0){				if(eout-outp < ndump+1)					goto Bfull;				*outp++ = ndump-1+128;				memmove(outp, dumpbuf, ndump);				outp += ndump;			}			line = eline;			loutp = outp;			r.max.y++;		}	Bfull:		if(loutp == outbuf)			goto ErrOut;		n = loutp-outbuf;		sprint(hdr, "%11d %11ld ", r.max.y, n);		write(fd, hdr, 2*12);		write(fd, outbuf, n);		r.min.y = r.max.y;	}	free(data);	free(outbuf);	free(hash);	free(chain);	return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线一区二区三区四区| 激情久久五月天| 国产精品欧美久久久久无广告 | 亚洲在线中文字幕| 国产精品国产三级国产普通话99| 久久久精品蜜桃| 久久精品免视看| 中文字幕免费一区| 国产精品福利一区| 一区二区三区不卡视频在线观看| 亚洲老司机在线| 亚洲影视在线播放| 视频一区视频二区在线观看| 日本美女视频一区二区| 欧美a一区二区| 国产一区视频导航| 粉嫩一区二区三区在线看| 成人在线视频首页| 91精彩视频在线观看| 在线观看91视频| 日韩精品自拍偷拍| 国产精品灌醉下药二区| 一区av在线播放| 经典三级视频一区| 不卡的电影网站| 欧美情侣在线播放| 337p日本欧洲亚洲大胆精品 | 亚洲欧洲三级电影| 亚洲综合无码一区二区| 久久精品国产免费看久久精品| 国产成人夜色高潮福利影视| 不卡一卡二卡三乱码免费网站| 欧美亚一区二区| 国产亚洲综合色| 亚洲一区欧美一区| 国产v日产∨综合v精品视频| 在线看国产日韩| 国产喷白浆一区二区三区| 一区二区在线观看不卡| 精品午夜久久福利影院| 日本韩国欧美在线| 久久女同性恋中文字幕| 午夜精品一区在线观看| 国产成人日日夜夜| 91精品欧美福利在线观看| 国产精品久久久久久一区二区三区| 日韩精品福利网| 91老师片黄在线观看| 欧美精品一区二区久久久| 一区二区三区毛片| 成人网页在线观看| 久久综合色播五月| 亚洲高清中文字幕| 色综合久久88色综合天天6 | 成人污视频在线观看| 91麻豆精品国产| 亚洲一区二区三区三| 成人h动漫精品一区二| 26uuu成人网一区二区三区| 亚洲精品视频在线| 99精品欧美一区二区三区小说| 精品sm在线观看| 久久国产婷婷国产香蕉| 51精品视频一区二区三区| 亚洲综合在线第一页| 成人av在线资源网站| 一区二区三区免费网站| 日韩av电影免费观看高清完整版在线观看| 国产毛片精品一区| 欧美成人综合网站| 日韩成人一级片| 欧美妇女性影城| 丝袜美腿亚洲一区| 欧美高清一级片在线| 亚洲成国产人片在线观看| 欧美性生活一区| 亚洲综合另类小说| 欧美日韩极品在线观看一区| 亚洲高清不卡在线| 欧美日韩一区二区三区高清| 亚洲一线二线三线久久久| 在线视频一区二区免费| 亚洲一区二区不卡免费| 欧美日韩一级视频| 蜜桃久久久久久| 久久久99精品久久| 成人av中文字幕| 亚洲高清免费一级二级三级| 91久久久免费一区二区| 一区二区三区四区不卡视频| 欧美三日本三级三级在线播放| 亚洲高清视频中文字幕| 日韩欧美一区电影| 成人性生交大片免费看中文| 日本一区二区不卡视频| aaa国产一区| 午夜精品久久久久影视| 日韩欧美国产wwwww| 国产成人精品亚洲777人妖| 中文成人av在线| 欧美在线你懂的| 蜜桃在线一区二区三区| 久久久99精品久久| 欧美三级韩国三级日本三斤| 日本欧美韩国一区三区| 日本一区二区三区在线不卡| 99精品偷自拍| 蜜臀91精品一区二区三区| 欧美国产日韩精品免费观看| 欧美综合亚洲图片综合区| 日本欧美一区二区| 综合精品久久久| 777色狠狠一区二区三区| 国产成人精品免费在线| 亚洲一区二区综合| 国产性天天综合网| 欧美日韩不卡一区二区| 丰满放荡岳乱妇91ww| 五月天网站亚洲| 亚洲欧洲在线观看av| 日韩欧美一卡二卡| 日本高清不卡在线观看| 国产精品自在欧美一区| 亚洲不卡在线观看| 中文字幕成人av| 日韩一区二区不卡| 欧美视频在线播放| 成年人网站91| 国产精品夜夜嗨| 日韩不卡一二三区| 亚洲欧美日韩国产综合| 国产亚洲欧美在线| 91精品欧美综合在线观看最新| 91麻豆国产精品久久| 国产黄色精品网站| 久久爱另类一区二区小说| 一区二区三区波多野结衣在线观看| 久久精品夜夜夜夜久久| 欧美一区二区精品久久911| 91精品办公室少妇高潮对白| 国产99久久久国产精品潘金| www.日韩精品| 国产自产2019最新不卡| 日韩成人av影视| 天天操天天色综合| 一级做a爱片久久| 亚洲乱码国产乱码精品精98午夜 | 成人午夜视频免费看| 九九视频精品免费| 奇米影视7777精品一区二区| 亚洲大片精品永久免费| 亚洲人成小说网站色在线| 日韩一区欧美一区| 中文字幕亚洲在| 国产精品情趣视频| 中文字幕制服丝袜一区二区三区| 国产网站一区二区三区| 亚洲国产成人午夜在线一区| 日本一区二区三区四区| 国产精品三级电影| 亚洲欧美综合色| 亚洲综合一区二区三区| 亚洲福利视频一区| 日韩高清不卡一区二区| 老鸭窝一区二区久久精品| 免费欧美在线视频| 国产一区二区三区观看| 福利视频网站一区二区三区| 粉嫩嫩av羞羞动漫久久久| 成人国产在线观看| 在线亚洲高清视频| 91麻豆精品国产无毒不卡在线观看 | 亚洲成人高清在线| 日本美女一区二区三区| 国产一区二区三区久久久| 成人午夜激情在线| 欧洲一区二区av| 欧美大度的电影原声| 国产欧美日韩不卡| 亚洲影院久久精品| 韩国在线一区二区| 99麻豆久久久国产精品免费| 91精品1区2区| 精品国产凹凸成av人网站| 国产精品电影一区二区| 亚洲aaa精品| 国产成人免费在线| 欧美午夜一区二区三区免费大片| 91精品国产高清一区二区三区| 久久精品在线免费观看| 亚洲一区二区三区美女| 国产高清一区日本| 欧美精品乱码久久久久久| 国产亚洲综合性久久久影院| 亚洲一区欧美一区| 成人激情文学综合网| 日韩欧美成人一区| 一区二区三区精品| 成人晚上爱看视频| 欧美精品一区二区高清在线观看|