From 68d94a0c74409fb795e382b41e40165bb96cb3d6 Mon Sep 17 00:00:00 2001 From: Benno Schulenberg Date: Sun, 28 Feb 2016 17:16:39 +0000 Subject: [PATCH] Rearranging a few things in my style. git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5695 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- ChangeLog | 1 + src/rcfile.c | 28 ++++++++++++++-------------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index dd13ca30..9676b159 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,7 @@ * src/rcfile.c (grab_and_store): Rename a variable and densify. * src/rcfile.c (grab_and_store): Do not drop regexes that were gathered earlier. This fixes Savannah bug #47285. + * src/rcfile.c (grab_and_store): Rearrange things in my style. 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 fd747c60..f8b19419 100644 --- a/src/rcfile.c +++ b/src/rcfile.c @@ -879,7 +879,7 @@ void grab_and_store(char *ptr, const char *kind, regexlisttype **storage) while (lastthing != NULL && lastthing->next != NULL) lastthing = lastthing->next; - /* Now load the regexes into their part of the struct. */ + /* Now gather any valid regexes and add them to the linked list. */ while (*ptr != '\0') { const char *regexstring; regexlisttype *newthing; @@ -895,22 +895,22 @@ void grab_and_store(char *ptr, const char *kind, regexlisttype **storage) if (ptr == NULL) return; - newthing = (regexlisttype *)nmalloc(sizeof(regexlisttype)); + /* If the regex string is malformed, skip it. */ + if (nregcomp(regexstring, REG_NOSUB) != 0) + continue; - /* Save the regex string if it's valid. */ - if (nregcomp(regexstring, REG_NOSUB)) { - newthing->full_regex = mallocstrcpy(NULL, regexstring); - newthing->rgx = NULL; + /* Copy the regex into a struct, and hook this in at the end. */ + newthing = (regexlisttype *)nmalloc(sizeof(regexlisttype)); + newthing->full_regex = mallocstrcpy(NULL, regexstring); + newthing->rgx = NULL; + newthing->next = NULL; - if (lastthing == NULL) - *storage = newthing; - else - lastthing->next = newthing; + if (lastthing == NULL) + *storage = newthing; + else + lastthing->next = newthing; - lastthing = newthing; - lastthing->next = NULL; - } else - free(newthing); + lastthing = newthing; } } -- 2.39.5