package/sshfs: fix build with gcc 4.8
authorFabrice Fontaine <fontaine.fabrice@gmail.com>
Sat, 31 Oct 2020 20:21:54 +0000 (21:21 +0100)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sat, 31 Oct 2020 21:03:31 +0000 (22:03 +0100)
Fix build of sshfs 3.7.0 and gcc 4.8

Fixes:
 - http://autobuild.buildroot.org/results/2dbdc579c55543175716d5f739cabe2ad0864ed6

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/sshfs/0001-sshfs.c-fix-build-with-gcc-4.8.patch [new file with mode: 0644]

diff --git a/package/sshfs/0001-sshfs.c-fix-build-with-gcc-4.8.patch b/package/sshfs/0001-sshfs.c-fix-build-with-gcc-4.8.patch
new file mode 100644 (file)
index 0000000..312985d
--- /dev/null
@@ -0,0 +1,47 @@
+From 35ff9ed71b89f34e5462de1ee63f88edf98aeb69 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Sat, 31 Oct 2020 21:08:53 +0100
+Subject: [PATCH] sshfs.c: fix build with gcc 4.8
+
+Fix the following build failure with gcc 4.8:
+
+../sshfs.c:1092:2: error: 'for' loop initial declarations are only allowed in C99 mode
+  for (int i = 0; i < sshfs.max_conns; i++) {
+  ^
+
+This build failure has been added with
+https://github.com/libfuse/sshfs/commit/8822b60d9dbd9907065e7999f616b11ddce6d584
+
+Fixes:
+ - http://autobuild.buildroot.org/results/2dbdc579c55543175716d5f739cabe2ad0864ed6
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Upstream status: https://github.com/libfuse/sshfs/pull/233]
+---
+ sshfs.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/sshfs.c b/sshfs.c
+index d5f2ff7..2c2db42 100644
+--- a/sshfs.c
++++ b/sshfs.c
+@@ -1068,6 +1068,7 @@ static struct conn* get_conn(const struct sshfs_file *sf,
+                            const char *path)
+ {
+       struct conntab_entry *ce;
++      int i;
+       if (sshfs.max_conns == 1)
+               return &sshfs.conns[0];
+@@ -1089,7 +1090,7 @@ static struct conn* get_conn(const struct sshfs_file *sf,
+       int best_index = 0;
+       uint64_t best_score = ~0ULL; /* smaller is better */
+-      for (int i = 0; i < sshfs.max_conns; i++) {
++      for (i = 0; i < sshfs.max_conns; i++) {
+               uint64_t score = ((uint64_t) sshfs.conns[i].req_count << 43) +
+                                ((uint64_t) sshfs.conns[i].dir_count << 22) +
+                                ((uint64_t) sshfs.conns[i].file_count << 1) +
+-- 
+2.28.0
+