From 1dd0cca7faef1d0223347caa30589c7d36a6ad8f Mon Sep 17 00:00:00 2001 From: Simon Horman Date: Fri, 2 Dec 2016 12:56:05 +0100 Subject: [PATCH] ss: initialise variables outside of for loop MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 07dcd8c2..20b71f55 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)); }