Re: [PATCHv9 4/4] pathspec: allow querying for attributes
From: Junio C Hamano <hidden>
Date: 2016-06-16 02:19:31
Stefan Beller [off-list ref] writes:
+attr;; +After `attr:` comes a space separated list of "attribute +... ++
The text looks OK, but does it format well?
+ attr_len = strcspn(attr, "=");
Scanning for '=' here retains the same bug from the previous iteration where you take !VAR=VAL and silently ignore =VAL part without diagnosing the error, doesn't it? Perhaps strlen(attr) here, and...
+ switch (*attr) {
+ case '!':
+ am->match_mode = MATCH_UNSPECIFIED;
+ attr++;
+ attr_len--;
+ break;
+ case '-':
+ am->match_mode = MATCH_UNSET;
+ attr++;
+ attr_len--;
+ break;
+ default:
+ if (attr[attr_len] != '=')
+ am->match_mode = MATCH_SET;
+ else {
+ am->match_mode = MATCH_VALUE;
+ am->value = xstrdup(&attr[attr_len + 1]);
+ if (strchr(am->value, '\\'))
+ die(_("attr spec values must not contain backslashes"));
+ }
+ break;
+ }... doing strcspn() only in default: part would be a quick fix.