From: Simon Horman Date: Fri, 2 Dec 2016 11:56:05 +0000 (+0100) Subject: ss: initialise variables outside of for loop X-Git-Tag: v4.9.0~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1dd0cca7faef1d0223347caa30589c7d36a6ad8f;p=thirdparty%2Fiproute2.git 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 --- diff --git a/misc/ss.c b/misc/ss.c index 07dcd8c20..20b71f552 100644 --- a/misc/ss.c +++ b/misc/ss.c @@ -3081,10 +3081,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 = &name[0]; memcpy(stat.local.data, &stat.name, sizeof(stat.name)); }