Merge pull request #1208 from jy2wong/master
[collectd.git] / src / liboconfig / parser.y
index d91df8c..1eb7aec 100644 (file)
@@ -36,6 +36,7 @@ static int yyerror (const char *s);
 /* Lexer variables */
 extern int yylineno;
 extern char *yytext;
+extern int yylex (void);
 
 extern oconfig_item_t *ci_root;
 extern char           *c_file;
@@ -207,15 +208,13 @@ statement_list:
 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;
        }
@@ -224,7 +223,7 @@ entire_file:
 %%
 static int yyerror (const char *s)
 {
-       char *text;
+       const char *text;
 
        if (*yytext == '\n')
                text = "<newline>";