summaryrefslogtreecommitdiff
blob: f328e4540ae34db2f6f391853ead97208eaf4dae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
https://bugs.gentoo.org/803557
https://dev.gnupg.org/T5587

From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Sun, 5 Sep 2021 00:05:00 +0200
Subject: [PATCH] src/posix-io.c: fix build with glibc >= 2.34

Fix the following build failure with glibc >= 2.34 raised because
closefrom doesn't return an int but a void since its addition with
https://github.com/bminor/glibc/commit/607449506f197cc9514408908f41f22537a47a8c

```
posix-io.c: In function '_gpgme_io_spawn':
posix-io.c:577:23: error: void value not ignored as it ought to be
  577 |             while ((i = closefrom (fd)) && errno == EINTR)
      |                       ^
```

Fixes:
 - http://autobuild.buildroot.org/results/b11094ddd35263071b7dd453a6590c5b684026ff

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
--- a/src/posix-io.c
+++ b/src/posix-io.c
@@ -570,7 +570,7 @@ _gpgme_io_spawn (const char *path, char *const argv[], unsigned int flags,
               if (fd_list[i].fd > fd)
                 fd = fd_list[i].fd;
             fd++;
-#if defined(__sun) || defined(__FreeBSD__)
+#if defined(__sun) || defined(__FreeBSD__) || (defined (__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 34)
             closefrom (fd);
             max_fds = fd;
 #else /*!__sun */