Re: [PATCH iproute2/net-next] ss: initialise variables outside of for loop
On Fri, Dec 02, 2016 at 02:18:17PM -0800, Stephen Hemminger wrote: > On Fri, 2 Dec 2016 12:56:05 +0100 > Simon Hormanwrote: > > > Initialise for loops outside of for loops. GCC flags this as being > > out of spec unless C99 or C11 mode is used. > > > > With this change the entire tree appears to compile cleanly with -Wall. > > > > $ gcc --version > > gcc (Debian 4.9.2-10) 4.9.2 > > ... > > $ make > > ... > > ss.c: In function ‘unix_show_sock’: > > ss.c:3128:4: error: ‘for’ loop initial declarations are only allowed in C99 > > or C11 mode > > ... > > > > Signed-off-by: Simon Horman > > Applied. Thanks. > Note, I used to have -Wall in Makefile but old GCC were broken and would give > aliasing warnings. Thanks, good to know.
Re: [PATCH iproute2/net-next] ss: initialise variables outside of for loop
On Fri, 2 Dec 2016 12:56:05 +0100 Simon Hormanwrote: > Initialise for loops outside of for loops. GCC flags this as being > out of spec unless C99 or C11 mode is used. > > With this change the entire tree appears to compile cleanly with -Wall. > > $ gcc --version > gcc (Debian 4.9.2-10) 4.9.2 > ... > $ make > ... > ss.c: In function ‘unix_show_sock’: > ss.c:3128:4: error: ‘for’ loop initial declarations are only allowed in C99 > or C11 mode > ... > > Signed-off-by: Simon Horman Applied. Note, I used to have -Wall in Makefile but old GCC were broken and would give aliasing warnings.
[PATCH iproute2/net-next] ss: initialise variables outside of for loop
Initialise for loops outside of for loops. GCC flags this as being out of spec unless C99 or C11 mode is used. With this change the entire tree appears to compile cleanly with -Wall. $ gcc --version gcc (Debian 4.9.2-10) 4.9.2 ... $ make ... ss.c: In function ‘unix_show_sock’: ss.c:3128:4: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode ... Signed-off-by: Simon Horman--- misc/ss.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/misc/ss.c b/misc/ss.c index 839781ee29bc..ce0b9d3d993d 100644 --- a/misc/ss.c +++ b/misc/ss.c @@ -3124,10 +3124,12 @@ static int unix_show_sock(const struct sockaddr_nl *addr, struct nlmsghdr *nlh, memcpy(name, RTA_DATA(tb[UNIX_DIAG_NAME]), len); name[len] = '\0'; - if (name[0] == '\0') - for (int i = 0; i < len; i++) + if (name[0] == '\0') { + int i; + for (i = 0; i < len; i++) if (name[i] == '\0') name[i] = '@'; + } stat.name = [0]; memcpy(stat.local.data, , sizeof(stat.name)); } -- 2.7.0.rc3.207.g0ac5344