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

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

?? patch.c

?? minix軟件源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
		    s = Argv[0];		}		if (!isalpha(*s))		    fatal1("Argument to -D not an identifier.\n");		Sprintf(if_defined, "#ifdef %s\n", s);		Sprintf(not_defined, "#ifndef %s\n", s);		Sprintf(end_defined, "#endif /* %s */\n", s);		break;	    case 'e':		diff_type = ED_DIFF;		break;	    case 'f':		force = TRUE;		break;	    case 'F':		if (*++s == '=')		    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);#ifdef SMALL    Unlink(TMPSTRNAME);#endif    exit(status);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久亚洲精品小早川怜子| 激情欧美日韩一区二区| 国产婷婷一区二区| 精品国产一二三区| 精品sm捆绑视频| 精品国产免费人成在线观看| 欧美成人一区二区| 日韩免费看的电影| 久久久久久一二三区| 久久久青草青青国产亚洲免观| 91精品国产福利| 精品福利在线导航| 欧美激情艳妇裸体舞| 亚洲欧洲三级电影| 国产精品视频麻豆| 亚洲国产中文字幕| 久久精品国产免费| 不卡一卡二卡三乱码免费网站| 色婷婷国产精品| 制服丝袜在线91| 国产婷婷色一区二区三区| 成人欧美一区二区三区小说 | 国产精品盗摄一区二区三区| 亚洲欧美影音先锋| 日本女优在线视频一区二区 | 国产精品久久精品日日| 亚洲午夜一区二区三区| 久久国产精品一区二区| av在线综合网| 欧美一区二区国产| 成人免费在线播放视频| 日本最新不卡在线| 99精品欧美一区二区三区综合在线| 欧美性大战久久| 欧美mv日韩mv国产网站app| 亚洲色欲色欲www在线观看| 丝袜诱惑亚洲看片| 97aⅴ精品视频一二三区| 日韩精品一区二区三区中文精品| 亚洲日本青草视频在线怡红院| 奇米一区二区三区| 色婷婷综合视频在线观看| 欧美xxxx老人做受| 亚洲午夜久久久| 国产成人在线观看| 日韩三级视频在线看| 亚洲精品国产a| 成人午夜精品一区二区三区| 欧美一区二区三区爱爱| 亚洲男人的天堂网| 成人综合在线观看| 久久蜜桃一区二区| 日本va欧美va精品| 欧美影视一区在线| 亚洲免费在线播放| 成人免费高清在线| 久久久99精品免费观看不卡| 麻豆成人免费电影| 这里只有精品电影| 午夜av电影一区| 欧美天堂亚洲电影院在线播放| 久久精品欧美日韩| 国产一本一道久久香蕉| 精品美女一区二区| 精品在线播放午夜| 日韩免费在线观看| 激情文学综合网| xnxx国产精品| 国产精品亚洲成人| 国产亚洲欧美一区在线观看| 黄色精品一二区| 久久久一区二区三区| 国产乱理伦片在线观看夜一区| 久久综合久久鬼色| 国产福利91精品一区| 国产亚洲综合在线| 99精品视频一区二区| 亚洲欧美日韩综合aⅴ视频| 91香蕉视频在线| 一区二区成人在线| 欧美色图片你懂的| 丝袜国产日韩另类美女| 日韩欧美视频在线| 国产乱子伦视频一区二区三区| 久久综合国产精品| 成人的网站免费观看| 亚洲摸摸操操av| 欧美日韩一区小说| 美国一区二区三区在线播放| 日韩精品一区在线| 成人午夜激情视频| 一区二区三区四区高清精品免费观看| 在线视频你懂得一区二区三区| 亚洲高清在线精品| 久久久精品免费免费| 91美女片黄在线| 日韩精品一卡二卡三卡四卡无卡| 精品国产91久久久久久久妲己| 成人晚上爱看视频| 午夜精品久久一牛影视| 国产亚洲欧美激情| 欧美日韩一区二区三区在线| 国产自产2019最新不卡| 亚洲日本丝袜连裤袜办公室| 欧美一区二区三区视频免费| 国产精品一区二区三区网站| 亚洲欧美电影一区二区| 精品久久久久久亚洲综合网| 99久久综合99久久综合网站| 日本在线播放一区二区三区| 国产精品久久一级| 宅男噜噜噜66一区二区66| 粉嫩13p一区二区三区| 一区二区三区精品视频在线| 久久久影视传媒| 欧美精品777| 99re亚洲国产精品| 韩国欧美一区二区| 亚洲成在线观看| 中国色在线观看另类| 欧美大尺度电影在线| 欧美性生活一区| 91在线免费视频观看| 国产一区二区三区免费观看| 性做久久久久久久免费看| 亚洲欧洲日本在线| 久久久久高清精品| 欧美不卡视频一区| 9191久久久久久久久久久| 91视频观看免费| 国产成人亚洲综合a∨婷婷图片| 日韩电影免费在线| 亚洲一二三区不卡| 亚洲黄网站在线观看| 亚洲欧洲一区二区在线播放| 久久久久久久性| 精品电影一区二区| 精品国产1区2区3区| 精品久久人人做人人爰| 欧美福利一区二区| 欧美色视频在线观看| 日本道免费精品一区二区三区| 北岛玲一区二区三区四区| 国产在线观看一区二区| 免费成人美女在线观看.| 五月婷婷综合网| 午夜精品福利在线| 丝袜亚洲另类丝袜在线| 日本视频中文字幕一区二区三区 | 精品粉嫩超白一线天av| 日韩欧美你懂的| 日韩一区二区免费在线观看| 在线不卡一区二区| 日韩亚洲欧美综合| 欧美成人性战久久| 久久久精品欧美丰满| 欧美国产精品v| 亚洲免费看黄网站| 亚洲午夜电影在线观看| 日韩av午夜在线观看| 久久精工是国产品牌吗| 国产麻豆精品95视频| 成人禁用看黄a在线| 91成人国产精品| 91精品国产一区二区三区香蕉 | 国产精品乱码一区二三区小蝌蚪| 国产亚洲欧美色| 亚洲女与黑人做爰| 日韩经典中文字幕一区| 国内精品久久久久影院色| 丁香天五香天堂综合| 在线观看日韩一区| 欧美一区二区三区免费视频 | 欧美一区二区三区四区久久| www一区二区| 一区二区三区鲁丝不卡| 蜜臀av性久久久久蜜臀aⅴ| 国产精品一区二区久久不卡| av一区二区三区四区| 欧美日韩成人激情| 国产午夜亚洲精品羞羞网站| 一片黄亚洲嫩模| 国产在线精品一区二区夜色| 不卡av免费在线观看| 欧美久久久影院| 亚洲国产精品精华液2区45| 亚洲午夜电影网| 国产不卡在线视频| 欧美欧美欧美欧美| 欧美激情综合五月色丁香| 午夜精品福利在线| www.亚洲人| 久久影视一区二区| 五月天网站亚洲| 99久久精品情趣| 国产日韩视频一区二区三区| 人人超碰91尤物精品国产| 成人爱爱电影网址| 精品免费国产二区三区| 午夜影院久久久|