commit - 13b527d9f7a404e302b54452dd2eb9fc65ed9bab
commit + 072028198fd35dfd25c9920dc6b65202ab5fabc7
blob - 7e544cbf50afb3992f764d956ab4de19a3d67a3c
blob + 7f0792c2d67f76688341bc2d4b073d5d09180b4f
--- gotd/parse.y
+++ gotd/parse.y
grammar :
| grammar '\n'
+ | grammar varset '\n'
| grammar main '\n'
| grammar repository '\n'
;
+varset : STRING '=' STRING {
+ char *s = $1;
+ while (*s++) {
+ if (isspace((unsigned char)*s)) {
+ yyerror("macro name cannot contain "
+ "whitespace");
+ free($1);
+ free($3);
+ YYERROR;
+ }
+ }
+ if (symset($1, $3, 0) == -1)
+ fatal("cannot store variable");
+ free($1);
+ free($3);
+ }
+ ;
+
timeout : NUMBER {
if ($1 < 0) {
yyerror("invalid timeout: %lld", $1);