use strip_suffix instead of ends_with in simple cases
commit26936bfd9bde1ec46901bea3e53d4fb9ae1b4a4c
authorJeff King <peff@peff.net>
Mon, 30 Jun 2014 16:58:51 +0000 (30 12:58 -0400)
committerJunio C Hamano <gitster@pobox.com>
Mon, 30 Jun 2014 20:43:17 +0000 (30 13:43 -0700)
tree168d00b14d97061b2db5b1d068ec01870f2ce3d9
parent2975c770ca609ea5afc80631c4ac9087c527b6fd
use strip_suffix instead of ends_with in simple cases

When stripping a suffix like:

  if (ends_with(str, "foo"))
buf = xmemdupz(str, strlen(str) - 3);

we can instead use strip_suffix to avoid the constant 3,
which must match the literal "foo" (we sometimes use
strlen("foo") instead, but that means we are repeating
ourselves). The example above becomes:

  if (strip_suffix(str, "foo", &len))
buf = xmemdupz(str, len);

This also saves a strlen(), since we calculate the string
length when detecting the suffix.

Note that in some cases we also switch from xstrndup to
xmemdupz, which saves a further strlen call.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/remote.c
builtin/repack.c
connected.c
help.c