diff --git a/ChangeLog b/ChangeLog index 7f416196..ae6b507d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,7 @@ * src/rcfile.c (parse_header_exp, parse_magic_exp, grab_and_store): Use the now correct parsing of header regexes also for parsing magic regexes. This fixes Savannah bug #47292 and saves 50 lines of code. + * src/rcfile.c (grab_and_store): Rename a variable and densify. 2016-02-26 Benno Schulenberg * doc/man/nanorc.5, doc/texinfo/nano.texi, doc/syntax/nanorc.nanorc, diff --git a/src/rcfile.c b/src/rcfile.c index de48ad6f..073615e5 100644 --- a/src/rcfile.c +++ b/src/rcfile.c @@ -876,7 +876,7 @@ void grab_and_store(char *ptr, const char *kind, regexlisttype **storage) /* Now load the regexes into their part of the struct. */ while (*ptr != '\0') { const char *regexstring; - regexlisttype *newheader; + regexlisttype *newthing; if (*ptr != '"') { rcfile_error( @@ -884,28 +884,27 @@ void grab_and_store(char *ptr, const char *kind, regexlisttype **storage) return; } - ptr++; - - regexstring = ptr; + regexstring = ++ptr; ptr = parse_next_regex(ptr); if (ptr == NULL) - break; + return; - newheader = (regexlisttype *)nmalloc(sizeof(regexlisttype)); + newthing = (regexlisttype *)nmalloc(sizeof(regexlisttype)); /* Save the regex string if it's valid. */ if (nregcomp(regexstring, REG_NOSUB)) { - newheader->full_regex = mallocstrcpy(NULL, regexstring); - newheader->rgx = NULL; + newthing->full_regex = mallocstrcpy(NULL, regexstring); + newthing->rgx = NULL; if (lastthing == NULL) - *storage = newheader; + *storage = newthing; else - lastthing->next = newheader; - lastthing = newheader; + lastthing->next = newthing; + + lastthing = newthing; lastthing->next = NULL; } else - free(newheader); + free(newthing); } }