index d91df8c7acb0c7fe2b4e10ddd639b5cb7d101436..1eb7aecee0cade45c59f34a001d110caaa26093e 100644 (file)
--- a/src/liboconfig/parser.y
+++ b/src/liboconfig/parser.y
/* Lexer variables */
extern int yylineno;
extern char *yytext;
+extern int yylex (void);
extern oconfig_item_t *ci_root;
extern char *c_file;
entire_file:
statement_list
{
- ci_root = malloc (sizeof (oconfig_item_t));
- memset (ci_root, '\0', sizeof (oconfig_item_t));
+ ci_root = calloc (1, sizeof (*ci_root));
ci_root->children = $1.statement;
ci_root->children_num = $1.statement_num;
}
| /* epsilon */
{
- ci_root = malloc (sizeof (oconfig_item_t));
- memset (ci_root, '\0', sizeof (oconfig_item_t));
+ ci_root = calloc (1, sizeof (*ci_root));
ci_root->children = NULL;
ci_root->children_num = 0;
}
%%
static int yyerror (const char *s)
{
- char *text;
+ const char *text;
if (*yytext == '\n')
text = "<newline>";