X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=conffile.y;h=9f32cfdaf5c6ba53d4f37397449043351b97dc51;hb=564022994befb8f71b89ae015751b22c34ae3ee8;hp=cd53b7cf88f349d919e9fc0c18af69e46479bd5a;hpb=558fa3fbbb2e6fd1bed6dec54ef603ceb6c943ad;p=secnet.git diff --git a/conffile.y b/conffile.y index cd53b7c..9f32cfd 100644 --- a/conffile.y +++ b/conffile.y @@ -8,8 +8,15 @@ #include #include #include +/* Bison stupidly redeclares malloc/free unless they are #defined + * (or a bunch of madder conditions) */ +#ifndef malloc +# define malloc malloc +# define free free +#endif #include "secnet.h" #include "conffile_internal.h" +#include "conffile.yy.h" #include "util.h" #define YYERROR_VERBOSE @@ -17,7 +24,7 @@ static struct p_node *node(uint32_t type, struct p_node *l, struct p_node *r); static struct p_node *result; -static void yyerror(char *s); +static void yyerror(const char *s); %} @@ -73,7 +80,7 @@ item: TOK_STRING %% -static void yyerror(char *s) +static void yyerror(const char *s) { Message(M_FATAL,"config file %s line %d: %s\n",config_file, config_lineno,s); @@ -96,7 +103,7 @@ static struct p_node *node(uint32_t type, struct p_node *l, struct p_node *r) { struct p_node *rv; - rv=safe_malloc(sizeof(*rv),"p_node"); + NEW(rv); rv->type=type; rv->loc.file=config_file; rv->loc.line=config_lineno;