]> git.wh0rd.org Git - nano.git/commitdiff
Handling the libmagic and headerline regexes in the same manner.
authorBenno Schulenberg <bensberg@justemail.net>
Mon, 12 May 2014 12:57:00 +0000 (12:57 +0000)
committerBenno Schulenberg <bensberg@justemail.net>
Mon, 12 May 2014 12:57:00 +0000 (12:57 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4860 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
src/rcfile.c

index c2b83f51dbebb48516b3d0812949c056fd7f8252..35d4dac70f8f4c2f3e375312bbc3dd0c22c9f21d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,9 @@
        * src/rcfile.c: Improve some comments, and remove some others that
        are mispasted or superfluous.
        * doc/texinfo/nano.texi: Add missing parenthesis, remove blank line.
+       * src/rcfile.c (parse_magictype, parse_headers): Handle the libmagic
+       and headerline regexes in the same manner, eliding a static variable
+       while renaming some others.
 
 2014-05-10 Chris Allegretta <chrisa@asty.org>
        * src/rcfile.c (parse_color_names): Redefine false and true to
index ce6540504b71fc00ba2c0b373b78f762452dd7d8..9b6ab7e8969579e9d59a3041c61c161a297b6f4a 100644 (file)
@@ -118,8 +118,6 @@ static char *nanorc = NULL;
 #ifndef DISABLE_COLOR
 static syntaxtype *endsyntax = NULL;
        /* The end of the list of syntaxes. */
-static exttype *endheader = NULL;
-       /* End of header list. */
 static colortype *endcolor = NULL;
        /* The end of the color list for the current syntax. */
 #endif
@@ -321,7 +319,6 @@ void parse_syntax(char *ptr)
     endsyntax->desc = mallocstrcpy(NULL, nameptr);
     endsyntax->color = NULL;
     endcolor = NULL;
-    endheader = NULL;
     endsyntax->extensions = NULL;
     endsyntax->headers = NULL;
     endsyntax->magics = NULL;
@@ -387,7 +384,7 @@ void parse_magictype(char *ptr)
 {
 #ifdef HAVE_LIBMAGIC
     const char *fileregptr = NULL;
-    exttype *endext = NULL;
+    exttype *endmagic = NULL;
 
     assert(ptr != NULL);
 
@@ -414,7 +411,7 @@ void parse_magictype(char *ptr)
 
     /* Now load the magic regexes into their part of the struct. */
     while (*ptr != '\0') {
-       exttype *newext;
+       exttype *newmagic;
 
        while (*ptr != '"' && *ptr != '\0')
            ptr++;
@@ -429,21 +426,21 @@ void parse_magictype(char *ptr)
        if (ptr == NULL)
            break;
 
-       newext = (exttype *)nmalloc(sizeof(exttype));
+       newmagic = (exttype *)nmalloc(sizeof(exttype));
 
-       /* Save the regex if it's valid. */
+       /* Save the regex string if it's valid. */
        if (nregcomp(fileregptr, REG_NOSUB)) {
-           newext->ext_regex = mallocstrcpy(NULL, fileregptr);
-           newext->ext = NULL;
+           newmagic->ext_regex = mallocstrcpy(NULL, fileregptr);
+           newmagic->ext = NULL;
 
-           if (endext == NULL)
-               endsyntax->magics = newext;
+           if (endmagic == NULL)
+               endsyntax->magics = newmagic;
            else
-               endext->next = newext;
-           endext = newext;
-           endext->next = NULL;
+               endmagic->next = newmagic;
+           endmagic = newmagic;
+           endmagic->next = NULL;
        } else
-           free(newext);
+           free(newmagic);
     }
 #endif /* HAVE_LIBMAGIC */
 }
@@ -880,6 +877,7 @@ bool parse_color_names(char *combostr, short *fg, short *bg, bool *bright)
 void parse_headers(char *ptr)
 {
     char *regstr;
+    exttype *endheader = NULL;
 
     assert(ptr != NULL);
 
@@ -917,19 +915,13 @@ void parse_headers(char *ptr)
        if (nregcomp(regstr, 0)) {
            newheader->ext_regex = mallocstrcpy(NULL, regstr);
            newheader->ext = NULL;
-           newheader->next = NULL;
-
-#ifdef DEBUG
-            fprintf(stderr, "Starting a new header entry: %s\n", newheader->ext_regex);
-#endif
 
-           if (endheader == NULL) {
+           if (endheader == NULL)
                endsyntax->headers = newheader;
-           } else {
+           else
                endheader->next = newheader;
-           }
-
            endheader = newheader;
+           endheader->next = NULL;
        } else
            free(newheader);
     }