Thread (3 messages) flat view 3 messages, 3 authors, 2016-06-15

Re: [PATCHv3 6/9] receive-pack: Prepare for addition of the new 'limit-*' family of capabilities

From: Johan Herland <hidden>
Date: 2016-06-15 22:51:15

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help