|
Message-ID: <20210502151850.GC2546@brightrain.aerifal.cx> Date: Sun, 2 May 2021 11:18:51 -0400 From: Rich Felker <dalias@...c.org> To: Vincent Torri <vincent.torri@...il.com> Cc: musl@...ts.openwall.com Subject: Re: Warnings in fnmatch implementation On Sun, May 02, 2021 at 02:11:03PM +0200, Vincent Torri wrote: > Hello > > > when compiling fnmatch.c, I have there following warnings : > > > fnmatch.c: In function 'str_next': > fnmatch.c:34:13: warning: comparison of integer expressions of > different signedness: 'char' and 'unsigned int' [-Wsign-compare] > 34 | if (str[0] >= 128U) { > | ^~ > fnmatch.c: In function 'pat_next': > fnmatch.c:87:13: warning: comparison of integer expressions of > different signedness: 'char' and 'unsigned int' [-Wsign-compare] > 87 | if (pat[0] >= 128U) { > | ^~ > fnmatch.c: In function 'match_bracket': > fnmatch.c:129:24: warning: comparison of integer expressions of > different signedness: 'unsigned int' and 'int' [-Wsign-compare] > 129 | if ((unsigned)k-wc <= wc2-wc || > | ^~ > fnmatch.c:130:28: warning: comparison of integer expressions of > different signedness: 'unsigned int' and 'int' [-Wsign-compare] > 130 | (unsigned)kfold-wc <= wc2-wc) > | ^~ > fnmatch.c:150:10: warning: comparison of integer expressions of > different signedness: 'char' and 'unsigned int' [-Wsign-compare] > 150 | if (*p < 128U) { > | ^ > fnmatch.c: In function 'fnmatch_internal': > fnmatch.c:232:13: warning: comparison of integer expressions of > different signedness: 'char' and 'unsigned int' [-Wsign-compare] > 232 | if (s[-1] < 128U || MB_CUR_MAX==1) s--; > | ^ > > All the 128U can be replaced by just 128, and (unsigned) by just (int) They definitely can't be replaced with just 128. Changing them to 128 changes the meaning of the expression and introduces a serious bug (prevents handling of any non-ASCII characters on archs where plain char is a signed type). For example -64 < 128 is true but -64 < 128U is false. Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.