diff options
Diffstat (limited to 'src/mds-kbdc')
| -rw-r--r-- | src/mds-kbdc/make-tree.c | 20 | 
1 files changed, 11 insertions, 9 deletions
| diff --git a/src/mds-kbdc/make-tree.c b/src/mds-kbdc/make-tree.c index 1a3f854..8f8a7ce 100644 --- a/src/mds-kbdc/make-tree.c +++ b/src/mds-kbdc/make-tree.c @@ -1002,14 +1002,6 @@ static int parse_line(void)  {    /* TODO make this function less complex */ -  line = LINE; -  SKIP_SPACES(line); -  if (end = strchrnul(line, ' '), end == line) -    return 0; -  prev_end_char = *end, *end = '\0'; -  original = line; -  too_few = 0; -     redo:    if (in_array)      { @@ -1334,7 +1326,17 @@ int parse_to_tree(const char* restrict filename, mds_kbdc_parsed_t* restrict res    /* Parse the file. */    for (line_i = 0, line_n = result->source_code->line_count; line_i < line_n; line_i++) -    parse_line(); +    { +      line = LINE; +      SKIP_SPACES(line); +      if (end = strchrnul(line, ' '), end == line) +	continue; +      prev_end_char = *end, *end = '\0'; +      original = line; +      too_few = 0; +       +      parse_line(); +    }    /* Check parsing state. */ | 
