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

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

?? patch.c

?? 早期freebsd實現
?? C
?? 第 1 頁 / 共 2 頁
字號:
		    s++;		maxfuzz = atoi(s);		break;	    case 'l':		canonicalize = TRUE;		break;	    case 'n':		diff_type = NORMAL_DIFF;		break;	    case 'N':		noreverse = TRUE;		break;	    case 'o':		outname = savestr(Argv[1]);		Argc--,Argv++;		break;	    case 'p':		if (*++s == '=')		    s++;		strippath = atoi(s);		break;	    case 'r':		Strcpy(rejname, Argv[1]);		Argc--,Argv++;		break;	    case 'R':		reverse = TRUE;		break;	    case 's':		verbose = FALSE;		break;	    case 'S':		skip_rest_of_patch = TRUE;		break;	    case 'v':		version();		break;#ifdef DEBUGGING	    case 'x':		debug = atoi(s+1);		break;#endif	    default:		fatal2("Unrecognized switch: %s\n", Argv[0]);	    }	}    }}/* Attempt to find the right place to apply this hunk of patch. */LINENUMlocate_hunk(fuzz)LINENUM fuzz;{    Reg1 LINENUM first_guess = pch_first() + last_offset;    Reg2 LINENUM offset;    LINENUM pat_lines = pch_ptrn_lines();    Reg3 LINENUM max_pos_offset = input_lines - first_guess				- pat_lines + 1;     Reg4 LINENUM max_neg_offset = first_guess - last_frozen_line - 1				+ pch_context();    if (!pat_lines)			/* null range matches always */	return first_guess;    if (max_neg_offset >= first_guess)	/* do not try lines < 0 */	max_neg_offset = first_guess - 1;    if (first_guess <= input_lines && patch_match(first_guess, Nulline, fuzz))	return first_guess;    for (offset = 1; ; offset++) {	Reg5 bool check_after = (offset <= max_pos_offset);	Reg6 bool check_before = (offset <= max_neg_offset);	if (check_after && patch_match(first_guess, offset, fuzz)) {#ifdef DEBUGGING	    if (debug & 1)		say3("Offset changing from %ld to %ld\n", last_offset, offset);#endif	    last_offset = offset;	    return first_guess+offset;	}	else if (check_before && patch_match(first_guess, -offset, fuzz)) {#ifdef DEBUGGING	    if (debug & 1)		say3("Offset changing from %ld to %ld\n", last_offset, -offset);#endif	    last_offset = -offset;	    return first_guess-offset;	}	else if (!check_before && !check_after)	    return Nulline;    }}/* We did not find the pattern, dump out the hunk so they can handle it. */voidabort_hunk(){    Reg1 LINENUM i;    Reg2 LINENUM pat_end = pch_end();    /* add in last_offset to guess the same as the previous successful hunk */    LINENUM oldfirst = pch_first() + last_offset;    LINENUM newfirst = pch_newfirst() + last_offset;    LINENUM oldlast = oldfirst + pch_ptrn_lines() - 1;    LINENUM newlast = newfirst + pch_repl_lines() - 1;    char *stars = (diff_type == NEW_CONTEXT_DIFF ? " ****" : "");    char *minuses = (diff_type == NEW_CONTEXT_DIFF ? " ----" : " -----");    fprintf(rejfp, "***************\n");    for (i=0; i<=pat_end; i++) {	switch (pch_char(i)) {	case '*':	    if (oldlast < oldfirst)		fprintf(rejfp, "*** 0%s\n", stars);	    else if (oldlast == oldfirst)		fprintf(rejfp, "*** %ld%s\n", oldfirst, stars);	    else		fprintf(rejfp, "*** %ld,%ld%s\n", oldfirst, oldlast, stars);	    break;	case '=':	    if (newlast < newfirst)		fprintf(rejfp, "--- 0%s\n", minuses);	    else if (newlast == newfirst)		fprintf(rejfp, "--- %ld%s\n", newfirst, minuses);	    else		fprintf(rejfp, "--- %ld,%ld%s\n", newfirst, newlast, minuses);	    break;	case '\n':	    fprintf(rejfp, "%s", pfetch(i));	    break;	case ' ': case '-': case '+': case '!':	    fprintf(rejfp, "%c %s", pch_char(i), pfetch(i));	    break;	default:	    say1("Fatal internal error in abort_hunk().\n"); 	    abort();	}    }}/* We found where to apply it (we hope), so do it. */voidapply_hunk(where)LINENUM where;{    Reg1 LINENUM old = 1;    Reg2 LINENUM lastline = pch_ptrn_lines();    Reg3 LINENUM new = lastline+1;#define OUTSIDE 0#define IN_IFNDEF 1#define IN_IFDEF 2#define IN_ELSE 3    Reg4 int def_state = OUTSIDE;    Reg5 bool R_do_defines = do_defines;    Reg6 LINENUM pat_end = pch_end();    where--;    while (pch_char(new) == '=' || pch_char(new) == '\n')	new++;        while (old <= lastline) {	if (pch_char(old) == '-') {	    copy_till(where + old - 1);	    if (R_do_defines) {		if (def_state == OUTSIDE) {		    fputs(not_defined, ofp);		    def_state = IN_IFNDEF;		}		else if (def_state == IN_IFDEF) {		    fputs(else_defined, ofp);		    def_state = IN_ELSE;		}		fputs(pfetch(old), ofp);	    }	    last_frozen_line++;	    old++;	}	else if (new > pat_end)	    break;	else if (pch_char(new) == '+') {	    copy_till(where + old - 1);	    if (R_do_defines) {		if (def_state == IN_IFNDEF) {		    fputs(else_defined, ofp);		    def_state = IN_ELSE;		}		else if (def_state == OUTSIDE) {		    fputs(if_defined, ofp);		    def_state = IN_IFDEF;		}	    }	    fputs(pfetch(new), ofp);	    new++;	}	else {	    if (pch_char(new) != pch_char(old)) {		say3("Out-of-sync patch, lines %ld,%ld--mangled text or line numbers, maybe?\n",		    pch_hunk_beg() + old,		    pch_hunk_beg() + new);#ifdef DEBUGGING		say3("oldchar = '%c', newchar = '%c'\n",		    pch_char(old), pch_char(new));#endif		my_exit(1);	    }	    if (pch_char(new) == '!') {		copy_till(where + old - 1);		if (R_do_defines) {		   fputs(not_defined, ofp);		   def_state = IN_IFNDEF;		}		while (pch_char(old) == '!') {		    if (R_do_defines) {			fputs(pfetch(old), ofp);		    }		    last_frozen_line++;		    old++;		}		if (R_do_defines) {		    fputs(else_defined, ofp);		    def_state = IN_ELSE;		}		while (pch_char(new) == '!') {		    fputs(pfetch(new), ofp);		    new++;		}		if (R_do_defines) {		    fputs(end_defined, ofp);		    def_state = OUTSIDE;		}	    }	    else {		assert(pch_char(new) == ' ');		old++;		new++;	    }	}    }    if (new <= pat_end && pch_char(new) == '+') {	copy_till(where + old - 1);	if (R_do_defines) {	    if (def_state == OUTSIDE) {	    	fputs(if_defined, ofp);		def_state = IN_IFDEF;	    }	    else if (def_state == IN_IFNDEF) {		fputs(else_defined, ofp);		def_state = IN_ELSE;	    }	}	while (new <= pat_end && pch_char(new) == '+') {	    fputs(pfetch(new), ofp);	    new++;	}    }    if (R_do_defines && def_state != OUTSIDE) {	fputs(end_defined, ofp);    }}/* Open the new file. */voidinit_output(name)char *name;{    ofp = fopen(name, "w");    if (ofp == Nullfp)	fatal2("patch: can't create %s.\n", name);}/* Open a file to put hunks we can't locate. */voidinit_reject(name)char *name;{    rejfp = fopen(name, "w");    if (rejfp == Nullfp)	fatal2("patch: can't create %s.\n", name);}/* Copy input file to output, up to wherever hunk is to be applied. */voidcopy_till(lastline)Reg1 LINENUM lastline;{    Reg2 LINENUM R_last_frozen_line = last_frozen_line;    if (R_last_frozen_line > lastline)	say1("patch: misordered hunks! output will be garbled.\n");    while (R_last_frozen_line < lastline) {	dump_line(++R_last_frozen_line);    }    last_frozen_line = R_last_frozen_line;}/* Finish copying the input file to the output file. */voidspew_output(){#ifdef DEBUGGING    if (debug & 256)	say3("il=%ld lfl=%ld\n",input_lines,last_frozen_line);#endif    if (input_lines)	copy_till(input_lines);		/* dump remainder of file */    Fclose(ofp);    ofp = Nullfp;}/* Copy one line from input to output. */voiddump_line(line)LINENUM line;{    Reg1 char *s;    Reg2 char R_newline = '\n';    /* Note: string is not null terminated. */    for (s=ifetch(line, 0); putc(*s, ofp) != R_newline; s++) ;}/* Does the patch pattern match at line base+offset? */boolpatch_match(base, offset, fuzz)LINENUM base;LINENUM offset;LINENUM fuzz;{    Reg1 LINENUM pline = 1 + fuzz;    Reg2 LINENUM iline;    Reg3 LINENUM pat_lines = pch_ptrn_lines() - fuzz;    for (iline=base+offset+fuzz; pline <= pat_lines; pline++,iline++) {	if (canonicalize) {	    if (!similar(ifetch(iline, (offset >= 0)),			 pfetch(pline),			 pch_line_len(pline) ))		return FALSE;	}	else if (strnNE(ifetch(iline, (offset >= 0)),		   pfetch(pline),		   pch_line_len(pline) ))	    return FALSE;    }    return TRUE;}/* Do two lines match with canonicalized white space? */boolsimilar(a,b,len)Reg1 char *a;Reg2 char *b;Reg3 int len;{    while (len) {	if (isspace(*b)) {		/* whitespace (or \n) to match? */	    if (!isspace(*a))		/* no corresponding whitespace? */		return FALSE;	    while (len && isspace(*b) && *b != '\n')		b++,len--;		/* skip pattern whitespace */	    while (isspace(*a) && *a != '\n')		a++;			/* skip target whitespace */	    if (*a == '\n' || *b == '\n')		return (*a == *b);	/* should end in sync */	}	else if (*a++ != *b++)		/* match non-whitespace chars */	    return FALSE;	else	    len--;			/* probably not necessary */    }    return TRUE;			/* actually, this is not reached */					/* since there is always a \n */}/* Exit with cleanup. */voidmy_exit(status)int status;{    Unlink(TMPINNAME);    if (!toutkeep) {	Unlink(TMPOUTNAME);    }    if (!trejkeep) {	Unlink(TMPREJNAME);    }    Unlink(TMPPATNAME);    exit(status);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区成人6969| 三级不卡在线观看| 欧美午夜不卡在线观看免费| 99久久精品国产网站| 日本电影亚洲天堂一区| 欧美日韩一级大片网址| 欧美一级日韩一级| 久久精品欧美日韩精品| 亚洲国产精品一区二区尤物区| 亚洲精品va在线观看| 亚洲高清免费视频| 国产精品日产欧美久久久久| 久久精品人人做人人爽人人| 久久品道一品道久久精品| 欧美午夜片在线看| bt欧美亚洲午夜电影天堂| 国产白丝网站精品污在线入口| 捆绑调教一区二区三区| 亚洲一区在线视频| 日韩精品视频网站| 天堂成人免费av电影一区| 中文字幕乱码日本亚洲一区二区 | 在线精品视频免费播放| 亚洲视频资源在线| 欧美日本乱大交xxxxx| av色综合久久天堂av综合| 色狠狠av一区二区三区| 欧美日本韩国一区二区三区视频| 欧美专区亚洲专区| 欧美精品自拍偷拍动漫精品| 亚洲另类在线一区| 成人a免费在线看| 日韩欧美一区中文| 免费精品视频最新在线| 欧美午夜在线一二页| 欧美激情综合五月色丁香| 日本三级韩国三级欧美三级| 欧美日韩dvd在线观看| 亚洲在线观看免费| 99久久精品国产毛片| 中文在线免费一区三区高中清不卡| 日韩精品欧美精品| 91视频免费观看| 久久人人97超碰com| 国产精品福利影院| 韩国中文字幕2020精品| av激情综合网| 日韩视频免费观看高清完整版| 久久久www成人免费毛片麻豆| 亚洲精品欧美激情| 国产成人精品网址| 亚洲精品一区二区精华| 美女任你摸久久 | 欧美国产禁国产网站cc| 中文字幕一区三区| 五月天亚洲婷婷| 国产剧情av麻豆香蕉精品| 一本久道中文字幕精品亚洲嫩| 666欧美在线视频| 国产精品视频观看| 日韩电影在线一区| va亚洲va日韩不卡在线观看| 欧美电影免费观看高清完整版在线观看 | 国产精品538一区二区在线| 一本色道久久加勒比精品 | 成人欧美一区二区三区1314| 久久久国产综合精品女国产盗摄| 国产成人免费视频网站高清观看视频| 综合av第一页| 国产精品不卡在线| 婷婷久久综合九色综合伊人色| 国产a区久久久| 国产精品色婷婷| 色综合天天做天天爱| 亚洲欧美偷拍三级| 色激情天天射综合网| 中文字幕av不卡| 日本韩国欧美一区二区三区| 国产精品亚洲第一| 麻豆高清免费国产一区| 亚洲视频在线一区| 久久精品夜色噜噜亚洲a∨| 欧美精选一区二区| 91网上在线视频| av亚洲精华国产精华| 久久国产综合精品| 国产一区二区0| 国产精品一二三| 国产乱子伦视频一区二区三区| 成人欧美一区二区三区白人| 91国产免费观看| 日本91福利区| 一区二区三区四区国产精品| 日本道在线观看一区二区| 一区二区三区四区亚洲| 日韩美女一区二区三区四区| 国产一区二区三区| 亚洲国产wwwccc36天堂| 亚洲男女一区二区三区| 欧美一区二区三区爱爱| 97aⅴ精品视频一二三区| 国产精品久久二区二区| 欧美美女一区二区在线观看| 亚洲成av人影院在线观看网| 亚洲精品一区二区三区精华液| 精品久久久久久综合日本欧美| 一本久久a久久免费精品不卡| 精品粉嫩超白一线天av| 国产一区二区三区| 中文字幕亚洲精品在线观看 | 亚洲chinese男男1069| 欧美精品一区二区蜜臀亚洲| 欧美美女一区二区在线观看| 91蝌蚪国产九色| 91捆绑美女网站| 久久综合九色综合久久久精品综合| 波多野结衣欧美| 色88888久久久久久影院野外| 欧美一区2区视频在线观看| 精品sm捆绑视频| 国产精品久久久久久妇女6080| 一区二区激情小说| 免费高清视频精品| 欧美怡红院视频| 中文一区一区三区高中清不卡| 日韩av一二三| 一本色道综合亚洲| 国产清纯美女被跳蛋高潮一区二区久久w| 中文字幕一区二区三区不卡 | 国产精品国产a| 国产清纯在线一区二区www| 亚洲另类一区二区| 麻豆国产91在线播放| 国产成人综合亚洲91猫咪| 色婷婷精品久久二区二区蜜臀av| 欧美精品久久久久久久多人混战| 日韩一区二区精品在线观看| ww亚洲ww在线观看国产| 最近中文字幕一区二区三区| 亚洲国产婷婷综合在线精品| 奇米综合一区二区三区精品视频| 九九热在线视频观看这里只有精品| 国产一区二区0| 国产在线精品免费| 欧美精品在欧美一区二区少妇| 国产精品伦一区二区三级视频| 中文一区在线播放| 亚洲精品在线三区| 欧美大片日本大片免费观看| 久久久久久麻豆| 免费成人av在线| 91网站在线播放| 精品成人佐山爱一区二区| 91精品国产品国语在线不卡| 亚洲区小说区图片区qvod| 午夜天堂影视香蕉久久| 韩国毛片一区二区三区| 99国产一区二区三精品乱码| 日韩丝袜情趣美女图片| 欧美国产丝袜视频| 亚洲精品中文在线影院| 国产精品乱人伦| 久久精品免费看| 在线观看免费一区| 中文字幕在线不卡国产视频| 午夜激情久久久| 国产精品1区2区3区在线观看| 捆绑紧缚一区二区三区视频| 国产91精品在线观看| 精品一区二区三区视频在线观看| 国产一区二区三区四| 成人午夜视频福利| 欧美麻豆精品久久久久久| 久久综合久久99| 26uuu成人网一区二区三区| 亚洲欧洲国产日韩| 国产一区二区三区久久久| 91精品国产欧美一区二区18| 亚洲精品国产精华液| 91丨九色porny丨蝌蚪| 中文字幕不卡在线观看| 国产成人免费在线观看| 欧美激情一区二区三区全黄| 国产综合久久久久久久久久久久| 欧美高清视频一二三区| 亚洲二区视频在线| 欧美福利视频导航| 蜜桃视频第一区免费观看| 欧美日韩一区二区三区在线看| 亚洲一区二区三区四区在线观看| 欧美日韩在线三区| 日韩福利电影在线| 亚洲精品在线网站| 91免费观看国产| 亚洲一区二区高清| 精品福利一二区| 波多野结衣在线一区| 国产精品国产a级| 欧美日韩不卡在线| 极品尤物av久久免费看|