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

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

?? patch.c

?? minix軟件源代碼
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
char rcsid[] =	"$Header: patch.c,v 2.0.1.6 88/06/22 20:46:39 lwall Locked $";/* patch - a program to apply diffs to original files * * Copyright 1986, Larry Wall * * This program may be copied as long as you don't try to make any * money off of it, or pretend that you wrote it. * * $Log:	patch.c,v $ * Revision 2.0.1.6  88/06/22  20:46:39  lwall * patch12: rindex() wasn't declared *  * Revision 2.0.1.5  88/06/03  15:09:37  lwall * patch10: exit code improved. * patch10: better support for non-flexfilenames. *  * Revision 2.0.1.4  87/02/16  14:00:04  lwall * Short replacement caused spurious "Out of sync" message. *  * Revision 2.0.1.3  87/01/30  22:45:50  lwall * Improved diagnostic on sync error. * Moved do_ed_script() to pch.c. *  * Revision 2.0.1.2  86/11/21  09:39:15  lwall * Fuzz factor caused offset of installed lines. *  * Revision 2.0.1.1  86/10/29  13:10:22  lwall * Backwards search could terminate prematurely. *  * Revision 2.0  86/09/17  15:37:32  lwall * Baseline for netwide release. *  * Revision 1.5  86/08/01  20:53:24  lwall * Changed some %d's to %ld's. * Linted. *  * Revision 1.4  86/08/01  19:17:29  lwall * Fixes for machines that can't vararg. * Added fuzz factor. * Generalized -p. * General cleanup. *  * 85/08/15 van%ucbmonet@berkeley * Changes for 4.3bsd diff -c. * * Revision 1.3  85/03/26  15:07:43  lwall * Frozen. *  * Revision 1.2.1.9  85/03/12  17:03:35  lwall * Changed pfp->_file to fileno(pfp). *  * Revision 1.2.1.8  85/03/12  16:30:43  lwall * Check i_ptr and i_womp to make sure they aren't null before freeing. * Also allow ed output to be suppressed. *  * Revision 1.2.1.7  85/03/12  15:56:13  lwall * Added -p option from jromine@uci-750a. *  * Revision 1.2.1.6  85/03/12  12:12:51  lwall * Now checks for normalness of file to patch. *  * Revision 1.2.1.5  85/03/12  11:52:12  lwall * Added -D (#ifdef) option from joe@fluke. *  * Revision 1.2.1.4  84/12/06  11:14:15  lwall * Made smarter about SCCS subdirectories. *  * Revision 1.2.1.3  84/12/05  11:18:43  lwall * Added -l switch to do loose string comparison. *  * Revision 1.2.1.2  84/12/04  09:47:13  lwall * Failed hunk count not reset on multiple patch file. *  * Revision 1.2.1.1  84/12/04  09:42:37  lwall * Branch for sdcrdcf changes. *  * Revision 1.2  84/11/29  13:29:51  lwall * Linted.  Identifiers uniqified.  Fixed i_ptr malloc() bug.  Fixed * multiple calls to mktemp().  Will now work on machines that can only * read 32767 chars.  Added -R option for diffs with new and old swapped. * Various cosmetic changes. *  * Revision 1.1  84/11/09  17:03:58  lwall * Initial revision *  *//* * 1992-01-15 * Modified by Saeko & Kouichi Hirabayashi to fit small memory (64K+64K) * system by adding "#if[n]def SMALL" parts. */#include "INTERN.h"#include "common.h"#include "EXTERN.h"#include "version.h"#include "util.h"#include "pch.h"#include "inp.h"/* procedures */_PROTOTYPE(int main , (int argc , char **argv ));_PROTOTYPE(void reinitialize_almost_everything , (void));_PROTOTYPE(void get_some_switches , (void));_PROTOTYPE(LINENUM locate_hunk , (LINENUM fuzz ));_PROTOTYPE(void abort_hunk , (void));_PROTOTYPE(void apply_hunk , (LINENUM where ));_PROTOTYPE(void init_output , (char *name ));_PROTOTYPE(void init_reject , (char *name ));_PROTOTYPE(void copy_till , (Reg1 LINENUM lastline ));_PROTOTYPE(void spew_output , (void));_PROTOTYPE(void dump_line , (LINENUM line ));_PROTOTYPE(bool patch_match , (LINENUM base , LINENUM offset , LINENUM fuzz ));_PROTOTYPE(bool similar , (Reg1 char *a , Reg2 char *b , Reg3 int len ));/* Apply a set of diffs as appropriate. */int main(argc,argv)int argc;char **argv;{    LINENUM where;    LINENUM newwhere;    LINENUM fuzz;    LINENUM mymaxfuzz;    int hunk = 0;    int failed = 0;    int failtotal = 0;    int i;    setbuf(stderr, serrbuf);    for (i = 0; i<MAXFILEC; i++)	filearg[i] = Nullch;    Mktemp(TMPOUTNAME);    Mktemp(TMPINNAME);    Mktemp(TMPREJNAME);    Mktemp(TMPPATNAME);#ifdef SMALL    Mktemp(TMPSTRNAME);#endif    /* parse switches */    Argc = argc;    Argv = argv;    get_some_switches();        /* make sure we clean up /tmp in case of disaster */    set_signals(0);    for (	open_patch_file(filearg[1]);	there_is_another_patch();	reinitialize_almost_everything()    ) {					/* for each patch in patch file */	if (outname == Nullch)	    outname = savestr(filearg[0]);    	/* initialize the patched file */	if (!skip_rest_of_patch)	    init_output(TMPOUTNAME);    	/* for ed script just up and do it and exit */	if (diff_type == ED_DIFF) {	    do_ed_script();	    continue;	}    	/* initialize reject file */	init_reject(TMPREJNAME);    	/* find out where all the lines are */	if (!skip_rest_of_patch)	    scan_input(filearg[0]);    	/* from here on, open no standard i/o files, because malloc */	/* might misfire and we can't catch it easily */    	/* apply each hunk of patch */	hunk = 0;	failed = 0;	out_of_mem = FALSE;	while (another_hunk()) {	    hunk++;	    fuzz = Nulline;	    mymaxfuzz = pch_context();	    if (maxfuzz < mymaxfuzz)		mymaxfuzz = maxfuzz;	    if (!skip_rest_of_patch) {		do {		    where = locate_hunk(fuzz);		    if (hunk == 1 && where == Nulline && !force) {						/* dwim for reversed patch? */			if (!pch_swap()) {			    if (fuzz == Nulline)				say1("Not enough memory to try swapped hunk!  Assuming unswapped.\n");			    continue;			}			reverse = !reverse;			where = locate_hunk(fuzz);  /* try again */			if (where == Nulline) {	    /* didn't find it swapped */			    if (!pch_swap())         /* put it back to normal */				fatal1("Lost hunk on alloc error!\n");			    reverse = !reverse;			}			else if (noreverse) {			    if (!pch_swap())         /* put it back to normal */				fatal1("Lost hunk on alloc error!\n");			    reverse = !reverse;			    say1("Ignoring previously applied (or reversed) patch.\n");			    skip_rest_of_patch = TRUE;			}			else {			    ask3("%seversed (or previously applied) patch detected!  %s -R? [y] ",				reverse ? "R" : "Unr",				reverse ? "Assume" : "Ignore");			    if (*buf == 'n') {				ask1("Apply anyway? [n] ");				if (*buf != 'y')				    skip_rest_of_patch = TRUE;				where = Nulline;				reverse = !reverse;				if (!pch_swap())  /* put it back to normal */				    fatal1("Lost hunk on alloc error!\n");			    }			}		    }		} while (!skip_rest_of_patch && where == Nulline &&		    ++fuzz <= mymaxfuzz);		if (skip_rest_of_patch) {		/* just got decided */		    Fclose(ofp);		    ofp = Nullfp;		}	    }	    newwhere = pch_newfirst() + last_offset;	    if (skip_rest_of_patch) {		abort_hunk();		failed++;		if (verbose)		    say3("Hunk #%d ignored at %ld.\n", hunk, newwhere);	    }	    else if (where == Nulline) {		abort_hunk();		failed++;		if (verbose)		    say3("Hunk #%d failed at %ld.\n", hunk, newwhere);	    }	    else {		apply_hunk(where);		if (verbose) {		    say3("Hunk #%d succeeded at %ld", hunk, newwhere);		    if (fuzz)			say2(" with fuzz %ld", fuzz);		    if (last_offset)			say3(" (offset %ld line%s)",			    last_offset, last_offset==1L?"":"s");		    say1(".\n");		}	    }	}	if (out_of_mem && using_plan_a) {	    Argc = Argc_last;	    Argv = Argv_last;	    say1("\n\nRan out of memory using Plan A--trying again...\n\n");	    continue;	}    	assert(hunk);    	/* finish spewing out the new file */	if (!skip_rest_of_patch)	    spew_output();		/* and put the output where desired */	ignore_signals();	if (!skip_rest_of_patch) {	    if (move_file(TMPOUTNAME, outname) < 0) {		toutkeep = TRUE;		chmod(TMPOUTNAME, filemode);	    }	    else		chmod(outname, filemode);	}	Fclose(rejfp);	rejfp = Nullfp;	if (failed) {	    failtotal += failed;	    if (!*rejname) {		Strcpy(rejname, outname);#ifndef FLEXFILENAMES		{		    char *s = rindex(rejname,'/');		    if (!s)			s = rejname;		    if (strlen(s) > 13)			if (s[12] == '.')	/* try to preserve difference */			    s[12] = s[13];	/* between .h, .c, .y, etc. */			s[13] = '\0';		}#endif		Strcat(rejname, REJEXT);	    }	    if (skip_rest_of_patch) {		say4("%d out of %d hunks ignored--saving rejects to %s\n",		    failed, hunk, rejname);	    }	    else {		say4("%d out of %d hunks failed--saving rejects to %s\n",		    failed, hunk, rejname);	    }	    if (move_file(TMPREJNAME, rejname) < 0)		trejkeep = TRUE;	}	set_signals(1);    }#ifdef SMALL    if (sfp != Nullfp)	Fclose(sfp);#endif    my_exit(failtotal);}/* Prepare to find the next patch to do in the patch file. */voidreinitialize_almost_everything(){    re_patch();    re_input();    input_lines = 0;    last_frozen_line = 0;    filec = 0;    if (filearg[0] != Nullch && !out_of_mem) {	free(filearg[0]);	filearg[0] = Nullch;    }    if (outname != Nullch) {	free(outname);	outname = Nullch;    }    last_offset = 0;    diff_type = 0;    if (revision != Nullch) {	free(revision);	revision = Nullch;    }    reverse = FALSE;    skip_rest_of_patch = FALSE;    get_some_switches();    if (filec >= 2)	fatal1("You may not change to a different patch file.\n");}/* Process switches and filenames up to next '+' or end of list. */voidget_some_switches(){    Reg1 char *s;    rejname[0] = '\0';    Argc_last = Argc;    Argv_last = Argv;    if (!Argc)	return;    for (Argc--,Argv++; Argc; Argc--,Argv++) {	s = Argv[0];	if (strEQ(s, "+")) {	    return;			/* + will be skipped by for loop */	}	if (*s != '-' || !s[1]) {	    if (filec == MAXFILEC)		fatal1("Too many file arguments.\n");	    filearg[filec++] = savestr(s);	}	else {	    switch (*++s) {	    case 'b':		origext = savestr(Argv[1]);		Argc--,Argv++;		break;	    case 'B':		origprae = savestr(Argv[1]);		Argc--,Argv++;		break;	    case 'c':		diff_type = CONTEXT_DIFF;		break;	    case 'd':		if (!*++s) {		    Argc--,Argv++;		    s = Argv[0];		}		if (chdir(s) < 0)		    fatal2("Can't cd to %s.\n", s);		break;	    case 'D':	    	do_defines = TRUE;		if (!*++s) {		    Argc--,Argv++;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美电影一区| 欧美一区永久视频免费观看| 国产在线精品一区二区夜色| 美女任你摸久久| 另类成人小视频在线| 轻轻草成人在线| 精品亚洲国内自在自线福利| 精品一区二区三区在线观看国产 | 欧美日韩视频不卡| 欧美日韩亚洲综合一区二区三区| 色婷婷久久久久swag精品| 色综合婷婷久久| 欧美亚洲尤物久久| 91精品国产综合久久久久久久| 日韩欧美资源站| 亚洲精品一区二区三区蜜桃下载| 久久伊人中文字幕| 中文字幕日韩精品一区| 亚洲综合在线五月| 麻豆久久一区二区| 成人午夜av电影| 欧美在线一区二区三区| 欧美一级理论片| 国产日韩成人精品| 性久久久久久久久久久久| 久久国产精品露脸对白| 成人一区二区在线观看| 91福利精品视频| 久久欧美一区二区| 亚洲一区中文日韩| 久久精品国产一区二区三| 国产成人高清视频| 欧美高清视频在线高清观看mv色露露十八 | 久久精品一区八戒影视| 亚洲欧美日韩一区二区三区在线观看| 亚洲成人tv网| www.在线欧美| 精品久久免费看| 国产精品色眯眯| 视频在线在亚洲| aaa国产一区| 欧美精品一区在线观看| 亚洲欧美激情小说另类| 精彩视频一区二区三区| 91福利视频在线| 国产精品色在线观看| 麻豆精品国产传媒mv男同| 色噜噜偷拍精品综合在线| 欧美v国产在线一区二区三区| 一区二区在线观看av| 国产伦精品一区二区三区免费迷| 欧美性大战久久久久久久蜜臀| 国产欧美日韩激情| 久久99久久久久| 欧美久久久久免费| 亚洲一区二区成人在线观看| 国产成人精品亚洲午夜麻豆| 欧美一级电影网站| 日韩国产欧美三级| 欧美无乱码久久久免费午夜一区| 中文字幕在线观看不卡视频| 国产一区免费电影| 欧美va亚洲va在线观看蝴蝶网| 亚洲bt欧美bt精品| 欧美日韩精品综合在线| 亚洲美腿欧美偷拍| 北条麻妃国产九九精品视频| 久久久久9999亚洲精品| 麻豆91精品视频| 91精品欧美福利在线观看| 日韩专区欧美专区| 欧美一卡在线观看| 免费看黄色91| 精品捆绑美女sm三区| 美日韩黄色大片| 337p日本欧洲亚洲大胆精品| 久久精品国产一区二区三| 日韩欧美你懂的| 韩国精品免费视频| 久久久美女毛片| 国产成人午夜视频| 中文字幕中文字幕中文字幕亚洲无线| 国产成人av在线影院| 国产精品久久久久影院亚瑟| av不卡在线观看| 亚洲高清视频中文字幕| 日韩一区二区三区三四区视频在线观看 | 中文字幕一区二区三区四区 | 亚洲一区二区三区影院| 欧美吻胸吃奶大尺度电影| 日韩不卡一区二区三区 | 色综合久久综合网| 亚洲地区一二三色| 日韩亚洲电影在线| 国产精品亚洲一区二区三区妖精 | 国产精品第五页| 欧美日韩在线播放三区四区| 蜜桃视频一区二区| 欧美激情在线一区二区三区| 成人精品国产一区二区4080| 亚洲国产精品影院| 国产视频一区二区在线| 色婷婷av一区| 久久精品免费看| 最新国产精品久久精品| 欧美视频在线一区二区三区| 卡一卡二国产精品| 一区二区三区四区视频精品免费| 欧美另类videos死尸| 国产美女一区二区三区| 一区二区三区精品视频| 欧美肥大bbwbbw高潮| 国产成人在线影院 | 欧美电影免费观看高清完整版在| 成人在线视频一区二区| 热久久久久久久| 亚洲人成电影网站色mp4| 日韩欧美第一区| 欧美午夜在线一二页| 岛国精品在线播放| 久久精品二区亚洲w码| 亚洲国产日韩一区二区| 国产欧美日韩在线视频| 日韩免费高清av| 欧美天堂一区二区三区| 成人国产精品免费| 国产一区在线观看麻豆| 午夜精品福利一区二区三区av| 国产精品久线在线观看| 久久久久国产精品厨房| 日韩一区二区三区在线视频| 色婷婷激情久久| 99re视频这里只有精品| 国产丶欧美丶日本不卡视频| 麻豆久久久久久| 免费在线观看不卡| 午夜精品在线看| 亚洲午夜在线电影| 夜夜爽夜夜爽精品视频| 中文字幕一区二区三区不卡| 欧美激情中文字幕一区二区| 久久精品亚洲国产奇米99| 精品日韩一区二区三区 | 国产精品大尺度| 国产免费久久精品| 国产日韩欧美一区二区三区综合| 日韩欧美国产高清| 精品女同一区二区| 欧美mv日韩mv亚洲| 欧美不卡视频一区| 欧美大胆一级视频| 欧美本精品男人aⅴ天堂| 欧美一二三区精品| 337p日本欧洲亚洲大胆色噜噜| 中文文精品字幕一区二区| 精品剧情v国产在线观看在线| 欧美精品一区二区三区很污很色的| 日韩午夜三级在线| 久久久五月婷婷| 国产精品久久久一本精品| 自拍视频在线观看一区二区| 一区二区免费在线播放| 日韩高清国产一区在线| 国精品**一区二区三区在线蜜桃| 国内精品写真在线观看| 99视频在线精品| 欧美日韩国产首页在线观看| 91精品国产丝袜白色高跟鞋| 欧美mv和日韩mv的网站| 欧美经典三级视频一区二区三区| 亚洲免费观看高清完整版在线观看熊| 亚洲国产综合视频在线观看| 另类小说视频一区二区| aa级大片欧美| 5566中文字幕一区二区电影| 欧美精品一区二区精品网| 1024成人网色www| 免费高清在线一区| 成人午夜av在线| 欧美日韩国产成人在线免费| 久久久久久97三级| 亚洲国产欧美一区二区三区丁香婷| 男人的j进女人的j一区| 成人激情黄色小说| 欧美一区二区啪啪| 亚洲三级理论片| 蜜桃av一区二区三区电影| av网站免费线看精品| 欧美日韩国产免费| 国产精品久久一卡二卡| 日韩avvvv在线播放| 波多野结衣中文字幕一区| 91麻豆精品国产91久久久久久久久 | 久久久久久久网| 亚洲国产一区在线观看| 国产大陆亚洲精品国产| 337p亚洲精品色噜噜| 国产精品久久久久久久久搜平片| 日本女优在线视频一区二区| 丁香六月久久综合狠狠色|