X-Git-Url: https://git.distorted.org.uk/~mdw/secnet/blobdiff_plain/2fe58dfd10216a37f1ece081f926971882de112e..refs/heads/master:/conffile.y diff --git a/conffile.y b/conffile.y index b6b246c..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,13 +24,13 @@ 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); %} %% -input: assignments { result = $1; } +input: assignments { result = $1; $$=result; } ; assignments: assignments assignment { $$=node(T_ALIST, $2, $1); } @@ -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;