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

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

?? append.c

?? openBSD UNIX sort命令實現完整源代碼
?? C
字號:
/*	$OpenBSD: append.c,v 1.9 2004/07/20 03:50:27 deraadt Exp $	*//*- * Copyright (c) 1993 *	The Regents of the University of California.  All rights reserved. * * This code is derived from software contributed to Berkeley by * Peter McIlroy. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. Neither the name of the University nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */#ifndef lint#if 0static char sccsid[] = "@(#)append.c	8.1 (Berkeley) 6/6/93";#elsestatic char rcsid[] = "$OpenBSD: append.c,v 1.9 2004/07/20 03:50:27 deraadt Exp $";#endif#endif /* not lint */#include "sort.h"#include <stdlib.h>#include <string.h>#define OUTPUT {							\	if ((n = cpos - ppos) > 1) {					\		for (; ppos < cpos; ++ppos)				\			*ppos -= odepth;				\		ppos -= n;						\		radixsort((const u_char **)ppos, n, wts1, REC_D);	\		for (; ppos < cpos; ppos++) {				\			prec = (RECHEADER *) (*ppos - sizeof(TRECHEADER));\			put(prec, fp);					\		}							\	} else 								\		put(prec, fp);						\}/* * copy sorted lines to output; check for uniqueness */voidappend(u_char **keylist, int nelem, int depth, FILE *fp,    void (*put)(RECHEADER *, FILE *), struct field *ftbl){	u_char *wts, *wts1;	int n, odepth;	u_char **cpos, **ppos, **lastkey;	u_char *cend, *pend, *start;	RECHEADER *crec, *prec;	if (*keylist == NULL)		return;	wts1 = wts = ftbl[0].weights;	if ((!UNIQUE) && SINGL_FLD) {		if (ftbl[0].flags & F && ftbl[0].flags & R)			wts1 = Rascii;		else if (ftbl[0].flags & F)			wts1 = ascii;		odepth = depth;	}	lastkey = keylist + nelem;	depth += sizeof(TRECHEADER);	if (SINGL_FLD && (UNIQUE || wts1 != wts)) {		ppos = keylist;		prec = (RECHEADER *) (*ppos - depth);		if (UNIQUE)			put(prec, fp);		for (cpos = &keylist[1]; cpos < lastkey; cpos++) {			crec = (RECHEADER *) (*cpos - depth);			if (crec->length  == prec->length) {				/* 				 * Set pend and cend so that trailing NUL and				 * record separator is ignored.				 */				pend = (u_char *)&prec->data + prec->length - 2;				cend = (u_char *)&crec->data + crec->length - 2;				for (start = *cpos; cend >= start; cend--) {					if (wts[*cend] != wts[*pend])						break;					pend--;				}				if (pend + 1 != *ppos) {					if (!UNIQUE)						OUTPUT					else						put(crec, fp);					ppos = cpos;					prec = crec;				}			} else {				if (!UNIQUE)					OUTPUT				else					put(crec, fp);				ppos = cpos;				prec = crec;			}		}		if (!UNIQUE)			OUTPUT	} else if (UNIQUE) {		ppos = keylist;		prec = (RECHEADER *) (*ppos - depth);		put(prec, fp);		for (cpos = &keylist[1]; cpos < lastkey; cpos++) {			crec = (RECHEADER *) (*cpos - depth);			if (crec->offset == prec->offset) {				/* 				 * Set pend and cend so that trailing NUL and				 * record separator is ignored.				 */				pend = (u_char *)&prec->data + prec->offset - 2;				cend = (u_char *)&crec->data + crec->offset - 2;				for (start = *cpos; cend >= start; cend--) {					if (wts[*cend] != wts[*pend])						break;					pend--;				}				if (pend + 1 != *ppos) {					ppos = cpos;					prec = crec;					put(prec, fp);				}			} else {				ppos = cpos;				prec = crec;				put(prec, fp);			}		}	} else for (cpos = keylist; cpos < lastkey; cpos++) {		crec = (RECHEADER *) (*cpos - depth);		put(crec, fp);	}}/* * output the already sorted eol bin. */voidrd_append(int binno, union f_handle infl0, int nfiles, FILE *outfp,    u_char *buffer, u_char *bufend){	RECHEADER *rec;	rec = (RECHEADER *) buffer;	if (!getnext(binno, infl0, nfiles, (RECHEADER *) buffer, bufend, 0)) {		putline(rec, outfp);		while (getnext(binno, infl0, nfiles, (RECHEADER *) buffer,			bufend, 0) == 0) {			if (!UNIQUE)				putline(rec, outfp);		}	}}/* * append plain text--used after sorting the biggest bin. */voidconcat(FILE *a, FILE *b){        int nread;        char buffer[4096];	rewind(b);        while ((nread = fread(buffer, 1, 4096, b)) > 0)                EWRITE(buffer, 1, nread, a);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日本不卡视频| 成人av在线一区二区| 亚洲日本乱码在线观看| 欧美韩国一区二区| 国产亚洲短视频| 国产欧美一区二区三区沐欲 | 日本中文字幕一区二区视频 | 麻豆91在线播放| 肉丝袜脚交视频一区二区| 亚洲国产日韩综合久久精品| 亚洲精品国产a| 亚洲成人自拍网| 免费在线观看精品| 国产伦精一区二区三区| 成人综合婷婷国产精品久久免费| 粉嫩欧美一区二区三区高清影视 | 国产精品久久久久久久第一福利| 一区在线中文字幕| 夜夜揉揉日日人人青青一国产精品| 国内精品第一页| 精品在线视频一区| 国产精品一级二级三级| av资源站一区| 欧美午夜理伦三级在线观看| 91精品国产色综合久久不卡电影| 日韩一二三区不卡| 亚洲国产成人在线| 亚洲综合久久av| 麻豆精品一区二区| 97久久精品人人爽人人爽蜜臀| 欧美自拍丝袜亚洲| 中文欧美字幕免费| 日日摸夜夜添夜夜添亚洲女人| 日韩成人精品在线观看| 国产成人aaa| 欧美日韩卡一卡二| 亚洲国产高清在线| 水蜜桃久久夜色精品一区的特点| 国产一区二区三区高清播放| 色诱视频网站一区| www久久久久| 亚洲综合清纯丝袜自拍| 国产乱妇无码大片在线观看| 欧亚一区二区三区| 国产亚洲一区二区三区四区 | 精品噜噜噜噜久久久久久久久试看 | 不卡视频免费播放| 欧美一级生活片| 亚洲欧美另类久久久精品2019| 日韩va欧美va亚洲va久久| 成人av动漫网站| 精品毛片乱码1区2区3区| 一区二区欧美精品| 成人午夜免费电影| 精品美女在线观看| 青青草视频一区| 欧美中文一区二区三区| 中文字幕一区二区三区在线不卡 | 91黄视频在线| 国产日产欧美一区二区视频| 人人精品人人爱| 欧美中文字幕一区二区三区| 亚洲日本青草视频在线怡红院| 久久精品国产99久久6| 欧美性猛片aaaaaaa做受| 亚洲日本护士毛茸茸| 国内欧美视频一区二区| 欧美一区二区国产| 水野朝阳av一区二区三区| 欧美在线观看一二区| 最近日韩中文字幕| 不卡视频在线观看| 亚洲欧洲日韩在线| 成人一区二区三区| 中文字幕中文乱码欧美一区二区| 国产成人综合视频| 国产日韩亚洲欧美综合| 国产麻豆91精品| 国产日韩高清在线| 97久久人人超碰| 1024成人网| 色狠狠av一区二区三区| 一区二区三区四区视频精品免费| 色域天天综合网| 午夜精品久久久久久久| 6080午夜不卡| 韩国v欧美v日本v亚洲v| 国产日韩欧美一区二区三区综合| 国产成人av电影免费在线观看| 欧美激情一区三区| 一本大道综合伊人精品热热| 一区二区三区高清| 欧美精品自拍偷拍动漫精品| 麻豆精品在线视频| 欧美激情艳妇裸体舞| 色综合色综合色综合| 亚洲777理论| 精品久久久久久亚洲综合网| 国产经典欧美精品| 亚洲免费在线观看| 在线不卡的av| 国产·精品毛片| 一区二区三区中文字幕在线观看| 欧美精品久久一区| 国产馆精品极品| 亚洲伊人色欲综合网| 精品国产自在久精品国产| 丁香激情综合国产| 丝袜美腿亚洲综合| 国产欧美日韩在线看| 欧美三级电影一区| 国产一区不卡精品| 亚洲一区二区在线视频| 久久综合视频网| 欧美色图12p| 国产福利视频一区二区三区| 一区二区三区不卡视频在线观看 | 色噜噜狠狠色综合中国| 秋霞影院一区二区| 日韩伦理av电影| 日韩欧美另类在线| 欧洲视频一区二区| 国产成人精品影院| 麻豆精品在线视频| 亚洲一区二区三区视频在线播放| 久久久久免费观看| 欧美高清性hdvideosex| 91女人视频在线观看| 国产麻豆日韩欧美久久| 秋霞影院一区二区| 亚洲成人一区二区| 亚洲欧洲另类国产综合| 国产亚洲短视频| 久久午夜国产精品| 日韩视频永久免费| 欧美精品在线一区二区三区| 97久久久精品综合88久久| 国产传媒久久文化传媒| 久久99日本精品| 日韩国产精品91| 午夜精品久久久久影视| 一二三区精品福利视频| 亚洲欧美日韩在线| 秋霞电影网一区二区| 日韩电影免费在线| 丝袜美腿高跟呻吟高潮一区| 亚洲午夜电影在线| 一区二区不卡在线播放| 一二三四区精品视频| 亚洲最快最全在线视频| 亚洲另类中文字| 夜夜嗨av一区二区三区中文字幕 | 色婷婷亚洲精品| 91在线观看视频| 94色蜜桃网一区二区三区| 成人国产视频在线观看| 99久久国产综合精品女不卡| 成人开心网精品视频| 99久久免费视频.com| 91视频91自| 欧美亚洲国产一区在线观看网站| 在线看国产一区二区| 色婷婷av一区二区三区软件| 在线免费不卡视频| 7777精品伊人久久久大香线蕉最新版 | 国产精品网站在线| 综合久久久久久| 亚洲风情在线资源站| 美腿丝袜亚洲三区| 国产高清精品在线| 色综合久久88色综合天天6| 在线一区二区三区做爰视频网站| 欧美日韩日日骚| 日韩色在线观看| 日韩亚洲欧美一区二区三区| 69p69国产精品| 成a人片国产精品| 91丨porny丨蝌蚪视频| 精品视频在线免费观看| 日韩三级电影网址| 国产精品欧美一区喷水| 一卡二卡欧美日韩| 青青草成人在线观看| 国产一区999| 精品视频一区二区不卡| 欧美专区日韩专区| 精品少妇一区二区| 91久久一区二区| 精品99一区二区| 老司机精品视频一区二区三区| 欧美影视一区二区三区| 亚洲九九爱视频| 91浏览器打开| 自拍偷拍国产亚洲| 99视频精品免费视频| 中文字幕乱码久久午夜不卡| 国产成人在线视频网址| 久久嫩草精品久久久久| 精品中文字幕一区二区小辣椒| 日韩一区二区三区免费观看|