From: Torsten Bögershausen Date: Thu, 25 Oct 2018 16:13:08 +0000 (+0200) Subject: path.c: char is not (always) signed X-Git-Tag: v2.19.2~2^2 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/3063477445423fd5ec52efa073fb8d15c1641f4e?ds=sidebyside path.c: char is not (always) signed If a "char" in C is signed or unsigned is not specified, because it is out of tradition "implementation dependent". Therefore constructs like "if (name[i] < 0)" are not portable, use "if (name[i] & 0x80)" instead. Detected by "gcc (Raspbian 6.3.0-18+rpi1+deb9u1) 6.3.0 20170516" when setting DEVELOPER = 1 DEVOPTS = extra-all Signed-off-by: Torsten Bögershausen Signed-off-by: Junio C Hamano --- diff --git a/path.c b/path.c index 4c4a751539..cd31734700 100644 --- a/path.c +++ b/path.c @@ -1368,7 +1368,7 @@ static int is_ntfs_dot_generic(const char *name, saw_tilde = 1; } else if (i >= 6) return 0; - else if (name[i] < 0) { + else if (name[i] & 0x80) { /* * We know our needles contain only ASCII, so we clamp * here to make the results of tolower() sane.