security/nss/coreconf/mkdepend/def.h

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 /* $Xorg: def.h,v 1.4 2001/02/09 02:03:16 xorgcvs Exp $ */
     2 /*
     4 Copyright (c) 1993, 1994, 1998 The Open Group.
     6 Permission to use, copy, modify, distribute, and sell this software and its
     7 documentation for any purpose is hereby granted without fee, provided that
     8 the above copyright notice appear in all copies and that both that
     9 copyright notice and this permission notice appear in supporting
    10 documentation.
    12 The above copyright notice and this permission notice shall be included in
    13 all copies or substantial portions of the Software.
    15 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    16 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    17 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
    18 OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
    19 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
    20 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    22 Except as contained in this notice, the name of The Open Group shall not be
    23 used in advertising or otherwise to promote the sale, use or other dealings
    24 in this Software without prior written authorization from The Open Group.
    26 */
    27 /* $XFree86: xc/config/makedepend/def.h,v 3.14 2003/01/17 17:09:49 tsi Exp $ */
    29 #ifndef NO_X11
    30 #include <X11/Xos.h>
    31 #include <X11/Xfuncproto.h>
    32 #endif
    33 #include <stdlib.h>
    34 #include <stdio.h>
    35 #include <string.h>
    36 #include <ctype.h>
    37 #if 0
    38 #ifndef X_NOT_POSIX
    39 #ifndef _POSIX_SOURCE
    40 #define _POSIX_SOURCE
    41 #endif
    42 #endif
    43 #endif
    44 #include <sys/types.h>
    45 #include <fcntl.h>
    46 #include <sys/stat.h>
    48 #define MAXDEFINES	512
    49 #define MAXFILES	1024
    50 #define MAXINCFILES	256	/* "-include" files */
    51 #define MAXDIRS		1024
    52 #define SYMTABINC	10	/* must be > 1 for define() to work right */
    53 #define	TRUE		1
    54 #define	FALSE		0
    56 /* the following must match the directives table in main.c */
    57 #define	IF		0
    58 #define	IFDEF		1
    59 #define	IFNDEF		2
    60 #define	ELSE		3
    61 #define	ENDIF		4
    62 #define	DEFINE		5
    63 #define	UNDEF		6
    64 #define	INCLUDE		7
    65 #define	LINE		8
    66 #define	PRAGMA		9
    67 #define ERROR           10
    68 #define IDENT           11
    69 #define SCCS            12
    70 #define ELIF            13
    71 #define EJECT           14
    72 #define WARNING         15
    73 #define INCLUDENEXT     16
    74 #define IFFALSE         17     /* pseudo value --- never matched */
    75 #define ELIFFALSE       18     /* pseudo value --- never matched */
    76 #define INCLUDEDOT      19     /* pseudo value --- never matched */
    77 #define IFGUESSFALSE    20     /* pseudo value --- never matched */
    78 #define ELIFGUESSFALSE  21     /* pseudo value --- never matched */
    79 #define INCLUDENEXTDOT  22     /* pseudo value --- never matched */
    81 #ifdef DEBUG
    82 extern int	_debugmask;
    83 /*
    84  * debug levels are:
    85  * 
    86  *     0	show ifn*(def)*,endif
    87  *     1	trace defined/!defined
    88  *     2	show #include
    89  *     3	show #include SYMBOL
    90  *     4-6	unused
    91  */
    92 #define debug(level,arg) { if (_debugmask & (1 << level)) warning arg; }
    93 #else
    94 #define	debug(level,arg) /**/
    95 #endif /* DEBUG */
    97 typedef	unsigned char boolean;
    99 struct symtab {
   100 	char	*s_name;
   101 	char	*s_value;
   102 };
   104 /* possible i_flag */
   105 #define DEFCHECKED	(1<<0)	/* whether defines have been checked */
   106 #define NOTIFIED	(1<<1)	/* whether we have revealed includes */
   107 #define MARKED		(1<<2)	/* whether it's in the makefile */
   108 #define SEARCHED	(1<<3)	/* whether we have read this */
   109 #define FINISHED	(1<<4)	/* whether we are done reading this */
   110 #define INCLUDED_SYM	(1<<5)	/* whether #include SYMBOL was found
   111 				   Can't use i_list if TRUE */
   112 struct	inclist {
   113 	char		*i_incstring;	/* string from #include line */
   114 	char		*i_file;	/* path name of the include file */
   115 	struct inclist	**i_list;	/* list of files it itself includes */
   116 	int		i_listlen;	/* length of i_list */
   117 	struct symtab	**i_defs;	/* symbol table for this file and its
   118 					   children when merged */
   119 	int		i_ndefs;	/* current # defines */
   120 	boolean		*i_merged;      /* whether we have merged child
   121 					   defines */
   122 	unsigned char   i_flags;
   123 };
   125 struct filepointer {
   126 	char	*f_name;
   127 	char	*f_p;
   128 	char	*f_base;
   129 	char	*f_end;
   130 	long	f_len;
   131 	long	f_line;
   132 	long	cmdinc_count;
   133 	char	**cmdinc_list;
   134 	long	cmdinc_line;
   135 };
   137 #include <stdlib.h>
   138 #if defined(macII) && !defined(__STDC__)  /* stdlib.h fails to define these */
   139 char *malloc(), *realloc();
   140 #endif /* macII */
   142 char			*copy(char *str);
   143 int                     match(char *str, char **list);
   144 char			*base_name(char *file);
   145 char			*getnextline(struct filepointer *fp);
   146 struct symtab		**slookup(char *symbol, struct inclist *file);
   147 struct symtab		**isdefined(char *symbol, struct inclist *file,
   148 				    struct inclist **srcfile);
   149 struct symtab		**fdefined(char *symbol, struct inclist *file,
   150 				   struct inclist **srcfile);
   151 struct filepointer	*getfile(char *file);
   152 void                    included_by(struct inclist *ip, 
   153 				    struct inclist *newfile);
   154 struct inclist		*newinclude(char *newfile, char *incstring);
   155 void                    inc_clean (void);
   156 struct inclist		*inc_path(char *file, char *include, int type);
   158 void                    freefile(struct filepointer *fp);
   160 void                    define2(char *name, char *val, struct inclist *file);
   161 void                    define(char *def, struct inclist *file);
   162 void                    undefine(char *symbol, struct inclist *file);
   163 int                     find_includes(struct filepointer *filep, 
   164 				      struct inclist *file, 
   165 				      struct inclist *file_red, 
   166 				      int recursion, boolean failOK);
   168 void                    recursive_pr_include(struct inclist *head, 
   169 					     char *file, char *base);
   170 void                    add_include(struct filepointer *filep, 
   171 				    struct inclist *file, 
   172 				    struct inclist *file_red, 
   173 				    char *include, int type,
   174 				    boolean failOK);
   176 int                     cppsetup(char *filename,
   177 				 char *line,
   178 				 struct filepointer *filep,
   179 				 struct inclist *inc);
   182 extern void fatalerr(char *, ...);
   183 extern void warning(char *, ...);
   184 extern void warning1(char *, ...);

mercurial