]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/cmd/7a/a.h
?a, cc: fix buffer overflows in built-in preprocessor (macbody)
[plan9front.git] / sys / src / cmd / 7a / a.h
index 5d09f62707f85db43aa3fd9683aebca0e80d56cf..f60e7dac1f6ada9c44c19cc4c32539623509ac8f 100644 (file)
@@ -5,13 +5,10 @@
 #include <libc.h>
 #include <bio.h>
 #include "../7c/7.out.h"
+#include "../cc/compat.h"
 
 typedef vlong int64;
 
-#ifndef        EXTERN
-#define        EXTERN  extern
-#endif
-
 typedef        struct  Sym     Sym;
 typedef        struct  Gen     Gen;
 typedef        struct  Io      Io;
@@ -101,14 +98,12 @@ EXTERN     int     nDlist;
 EXTERN Hist*   ehist;
 EXTERN int     newflag;
 EXTERN Hist*   hist;
-EXTERN char*   hunk;
 EXTERN char*   include[NINCLUDE];
 EXTERN Io*     iofree;
 EXTERN Io*     ionext;
 EXTERN Io*     iostack;
 EXTERN long    lineno;
 EXTERN int     nerrors;
-EXTERN long    nhunk;
 EXTERN int     ninclude;
 EXTERN Gen     nullgen;
 EXTERN char*   outfile;
@@ -120,11 +115,8 @@ EXTERN     int     sym;
 EXTERN char    symb[NSYMB];
 EXTERN int     thechar;
 EXTERN char*   thestring;
-EXTERN long    thunk;
 EXTERN Biobuf  obuf;
 
-void*  alloc(long);
-void*  allocn(void*, long, long);
 void   errorexit(void);
 void   pushio(void);
 void   newio(void);
@@ -151,7 +143,7 @@ Sym*        getsym(void);
 void   domacro(void);
 void   macund(void);
 void   macdef(void);
-void   macexpand(Sym*, char*);
+void   macexpand(Sym*, char*, int);
 void   macinc(void);
 void   maclin(void);
 void   macprag(void);
@@ -161,25 +153,7 @@ void       outhist(void);
 void   dodefine(char*);
 void   prfile(long);
 void   linehist(char*, int);
-void   gethunk(void);
 void   yyerror(char*, ...);
 int    yyparse(void);
 void   setinclude(char*);
 int    assemble(char*);
-
-/*
- *     system-dependent stuff from ../cc/compat.c
- */
-
-enum                           /* keep in synch with ../cc/cc.h */
-{
-       Plan9   = 1<<0,
-       Unix    = 1<<1,
-       Windows = 1<<2,
-};
-int    mywait(int*);
-int    mycreat(char*, int);
-int    systemtype(int);
-int    pathchar(void);
-int    myfork(void);
-void*  mysbrk(ulong);