On Monday 16 May 2011, Junio C Hamano wrote:
Johan Herland [off-list ref] writes:
quoted
+const char *server_supports(const char *feature)
{
- return server_capabilities &&
- strstr(server_capabilities, feature) != NULL;
+ if (server_capabilities)
+ return strstr(server_capabilities, feature);
+ return NULL;
}
I've been meaning to fix this part, but currently the feature set is
given as space separated list " featurea featureb featurec" and we check
with a token without any space around, e.g. "if
(server_supports("no-done"))", which is quite broken.
We should tighten this strstr() to make sure we are not matching in the
middle of a string, and the need to do so is even greater now that you
are going to introduce "foo=<value>" and the value could even be strings
in the future.
How about implementing rules like these:
[...]
Agreed. I'll take a stab at this in the re-roll.
...Johan
--
Johan Herland, [off-list ref]
www.herland.net