nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit fa82824a598445a4fbe259e216eab1e53697160b
parent 3cb80ff7ea0dd4eb1eb25ddad58c8b8ac06f7953
Author: Benno Schulenberg <bensberg@justemail.net>
Date:   Sat, 12 Mar 2016 09:52:16 +0000

Reducing the indentation by short-circuiting a loop.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5727 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

Diffstat:
MChangeLog | 1+
Msrc/rcfile.c | 54+++++++++++++++++++++++++++---------------------------
2 files changed, 28 insertions(+), 27 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -3,6 +3,7 @@ just once, in a single place. And unnest two 'if's. * src/rcfile.c (parse_one_include, parse_includes): New names for these functions, to be more distinguishable. + * src/rcfile.c (parse_colors): Reduce the indentation. 2016-03-11 Benno Schulenberg <bensberg@justemail.net> * src/browser.c (do_browser): Fix compilation when configured with diff --git a/src/rcfile.c b/src/rcfile.c @@ -718,37 +718,37 @@ void parse_colors(char *ptr, bool icase) } else cancelled = TRUE; - if (expectend) { - if (ptr == NULL || strncasecmp(ptr, "end=", 4) != 0) { - rcfile_error( - N_("\"start=\" requires a corresponding \"end=\"")); - return; - } - ptr += 4; - if (*ptr != '"') { - rcfile_error( - N_("Regex strings must begin and end with a \" character")); - continue; - } + if (!expectend) + continue; - fgstr = ++ptr; - ptr = parse_next_regex(ptr); - if (ptr == NULL) - break; + if (ptr == NULL || strncasecmp(ptr, "end=", 4) != 0) { + rcfile_error(N_("\"start=\" requires a corresponding \"end=\"")); + return; + } - /* If the start regex was invalid, skip past the end regex - * to stay in sync. */ - if (cancelled) - continue; + ptr += 4; + if (*ptr != '"') { + rcfile_error(N_("Regex strings must begin and end with a \" character")); + continue; + } - /* If it's valid, save the ending regex string. */ - if (nregcomp(fgstr, icase ? REG_ICASE : 0)) - newcolor->end_regex = mallocstrcpy(NULL, fgstr); + fgstr = ++ptr; + ptr = parse_next_regex(ptr); + if (ptr == NULL) + break; - /* Lame way to skip another static counter. */ - newcolor->id = live_syntax->nmultis; - live_syntax->nmultis++; - } + /* If the start regex was invalid, skip past the end regex + * to stay in sync. */ + if (cancelled) + continue; + + /* If it's valid, save the ending regex string. */ + if (nregcomp(fgstr, icase ? REG_ICASE : 0)) + newcolor->end_regex = mallocstrcpy(NULL, fgstr); + + /* Lame way to skip another static counter. */ + newcolor->id = live_syntax->nmultis; + live_syntax->nmultis++; } }