- *cp1 = '\0';
- yylval.blk = bp = ALLOC(block);
- if (bp == NULL)
- fatal("ran out of memory\n");
- if (!strcmp(yytext, "install"))
- c = INSTALL;
- else if (!strcmp(yytext, "verify"))
- c = VERIFY;
- else if (!strcmp(yytext, "notify"))
- c = NOTIFY;
- else if (!strcmp(yytext, "except"))
- c = EXCEPT;
- else
- c = NAME;
- bp->b_type = c;
- bp->b_next = bp->b_args = NULL;
- if (c == NAME) {
- c = strlen(yytext) + 1;
- bp->b_name = cp1 = (char *) malloc(c);
- if (cp1 == NULL)
- fatal("ran out of memory\n");
- for (cp2 = yytext; *cp1++ = *cp2++; )
- ;
- } else
- bp->b_name = NULL;
- return(bp->b_type);