⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common.h

📁 操作系统源代码
💻 H
字号:
/* $Header: common.h,v 2.0.1.2 88/06/22 20:44:53 lwall Locked $ * * $Log:	common.h,v $ * Revision 2.0.1.2  88/06/22  20:44:53  lwall * patch12: sprintf was declared wrong *  * Revision 2.0.1.1  88/06/03  15:01:56  lwall * patch10: support for shorter extensions. *  * Revision 2.0  86/09/17  15:36:39  lwall * Baseline for netwide release. *  */#define DEBUGGING#include "config.h"#include <sys/types.h>#include <fcntl.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <stdio.h>/* shut lint up about the following when return value ignored */#define Signal (void)signal#define Unlink (void)unlink#define Lseek (void)lseek#define Fseek (void)fseek#define Fstat (void)fstat#define Pclose (void)pclose#define Close (void)close#define Fclose (void)fclose#define Fflush (void)fflush#define Sprintf (void)sprintf#define Mktemp (void)mktemp#define Strcpy (void)strcpy#define Strcat (void)strcat#include <sys/types.h>#include <sys/stat.h>#include <assert.h>#include <ctype.h>#include <signal.h>#include <stdio.h>/* constants */#define TRUE (1)#define FALSE (0)#define MAXHUNKSIZE 100000		/* is this enough lines? */#define INITHUNKMAX 125			/* initial dynamic allocation size */#define MAXLINELEN 1024#define BUFFERSIZE 1024#define SCCSPREFIX "s."#define GET "get -e %s"#define RCSSUFFIX ",v"#define CHECKOUT "co -l %s"#ifdef FLEXFILENAMES#define ORIGEXT ".orig"#define REJEXT ".rej"#else#define ORIGEXT "~"#define REJEXT "#"#endif/* handy definitions */#define Null(t) ((t)0)#define Nullch Null(char *)#define Nullfp Null(FILE *)#define Nulline Null(LINENUM)#define Ctl(ch) ((ch) & 037)#define strNE(s1,s2) (strcmp(s1, s2))#define strEQ(s1,s2) (!strcmp(s1, s2))#define strnNE(s1,s2,l) (strncmp(s1, s2, l))#define strnEQ(s1,s2,l) (!strncmp(s1, s2, l))/* typedefs */typedef int bool;typedef long LINENUM;			/* must be signed */typedef unsigned MEM;			/* what to feed malloc *//* globals */EXT int Argc;				/* guess */EXT char **Argv;EXT int Argc_last;			/* for restarting plan_b */EXT char **Argv_last;EXT struct stat filestat;		/* file statistics area */EXT int filemode INIT(0644);EXT char buf[MAXLINELEN];		/* general purpose buffer */EXT FILE *ofp INIT(Nullfp);		/* output file pointer */EXT FILE *rejfp INIT(Nullfp);		/* reject file pointer */EXT bool using_plan_a INIT(TRUE);	/* try to keep everything in memory */EXT bool out_of_mem INIT(FALSE);	/* ran out of memory in plan a */#define MAXFILEC 2EXT int filec INIT(0);			/* how many file arguments? */EXT char *filearg[MAXFILEC];EXT bool ok_to_create_file INIT(FALSE);EXT char *bestguess INIT(Nullch);	/* guess at correct filename */EXT char *outname INIT(Nullch);EXT char rejname[128];EXT char *origext INIT(Nullch);EXT char *origprae INIT(Nullch);EXT char TMPOUTNAME[] INIT("/tmp/patchoXXXXXX");EXT char TMPINNAME[] INIT("/tmp/patchiXXXXXX");	/* might want /usr/tmp here */EXT char TMPREJNAME[] INIT("/tmp/patchrXXXXXX");EXT char TMPPATNAME[] INIT("/tmp/patchpXXXXXX");#ifdef SMALLEXT char TMPSTRNAME[] INIT("/tmp/patchsXXXXXX");#endifEXT bool toutkeep INIT(FALSE);EXT bool trejkeep INIT(FALSE);EXT LINENUM last_offset INIT(0);#ifdef DEBUGGINGEXT int debug INIT(0);#endifEXT LINENUM maxfuzz INIT(2);EXT bool force INIT(FALSE);EXT bool verbose INIT(TRUE);EXT bool reverse INIT(FALSE);EXT bool noreverse INIT(FALSE);EXT bool skip_rest_of_patch INIT(FALSE);EXT int strippath INIT(957);EXT bool canonicalize INIT(FALSE);#define CONTEXT_DIFF 1#define NORMAL_DIFF 2#define ED_DIFF 3#define NEW_CONTEXT_DIFF 4EXT int diff_type INIT(0);EXT bool do_defines INIT(FALSE);	/* patch using ifdef, ifndef, etc. */EXT char if_defined[128];		/* #ifdef xyzzy */EXT char not_defined[128];		/* #ifndef xyzzy */EXT char else_defined[] INIT("#else\n");/* #else */EXT char end_defined[128];		/* #endif xyzzy */EXT char *revision INIT(Nullch);	/* prerequisite revision, if any */_PROTOTYPE(void my_exit , (int status ));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -