From 1899507caece024f4d1022501435264bfe69b8a7 Mon Sep 17 00:00:00 2001 From: Jonas Fonseca Date: Sun, 28 May 2006 20:19:32 +0200 Subject: [PATCH] Only touch the option strings if necessary --- tig.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/tig.c b/tig.c index a3db54b..982c1cc 100644 --- a/tig.c +++ b/tig.c @@ -845,6 +845,10 @@ struct line { }; +/* + * User config file handling. + */ + #define set_color(color, name, namelen) \ set_from_int_map(color_map, ARRAY_SIZE(color_map), color, name, namelen) @@ -855,19 +859,20 @@ static int read_option(char *opt, int optlen, char *value, int valuelen) { optlen = strcspn(opt, "#;"); - if (optlen == 0) + if (optlen == 0) { /* The whole line is a comment. */ return OK; - else if (opt[optlen] != 0) + } else if (opt[optlen] != 0) { /* Part of the option name is a comment, so the value part * should be ignored. */ valuelen = 0; - else + opt[optlen] = value[valuelen] = 0; + } else { /* Else look for comment endings in the value. */ valuelen = strcspn(value, "#;"); - - opt[optlen] = value[valuelen] = 0; + value[valuelen] = 0; + } /* Reads: "color" object fgcolor bgcolor [attr] */ if (!strcmp(opt, "color")) { -- 2.11.0