commit 68d94a0c74409fb795e382b41e40165bb96cb3d6
parent 07f71e6c1a5d72f6c31f6be3e2b4b694a8a13fa7
Author: Benno Schulenberg <bensberg@justemail.net>
Date: Sun, 28 Feb 2016 17:16:39 +0000
Rearranging a few things in my style.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5695 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
2 files changed, 15 insertions(+), 14 deletions(-)
diff --git 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 <bensberg@justemail.net>
* doc/man/nanorc.5, doc/texinfo/nano.texi, doc/syntax/nanorc.nanorc,
diff --git 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;
}
}