From 09fc9d21c5dd42d0fe59bcd4794acaf76945a54c Mon Sep 17 00:00:00 2001 From: Dmitri Pal Date: Sat, 25 Dec 2010 23:36:06 -0500 Subject: Add new vars to parse structure Adding new varibles to the internal parsing structure and initializing them. --- ini/ini_parse.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'ini/ini_parse.c') diff --git a/ini/ini_parse.c b/ini/ini_parse.c index 18edc62..9667a02 100644 --- a/ini/ini_parse.c +++ b/ini/ini_parse.c @@ -69,8 +69,11 @@ struct parser_obj { uint32_t linenum; /* Line number of the last found key */ uint32_t keylinenum; + /* Line number of the last found section */ + uint32_t seclinenum; /* Internal variables */ struct collection_item *sec; + struct collection_item *merge_sec; struct ini_comment *ic; char *last_read; uint32_t last_read_len; @@ -78,12 +81,15 @@ struct parser_obj { uint32_t key_len; struct ref_array *raw_lines; struct ref_array *raw_lengths; + char *merge_key; + struct value_obj *merge_vo; + /* Merge error */ + uint32_t merge_error; int ret; }; typedef int (*action_fn)(struct parser_obj *); - #define PARSE_ACTION "action" /* Actions */ @@ -181,9 +187,12 @@ static int parser_create(FILE *file, /* Initialize internal varibles */ new_po->sec = NULL; + new_po->merge_sec = NULL; new_po->ic = NULL; new_po->last_error = 0; new_po->linenum = 0; + new_po->keylinenum = 0; + new_po->seclinenum = 0; new_po->last_read = NULL; new_po->last_read_len = 0; new_po->key = NULL; @@ -191,6 +200,9 @@ static int parser_create(FILE *file, new_po->raw_lines = NULL; new_po->raw_lengths = NULL; new_po->ret = EOK; + new_po->merge_key = NULL; + new_po->merge_vo = NULL; + new_po->merge_error = 0; /* Create a queue */ new_po->queue = NULL; -- cgit