Commit 653d64c5 authored by Thomas Petazzoni's avatar Thomas Petazzoni Committed by Peter Korsgaard
Browse files

diffutils: fix build with recent glibc



Fixes the following build problem with recent toolchains:

In file included from exclude.c:31:0:
./stdio.h:1012:1: error: 'gets' undeclared here (not in a function)
  CC       hard-locale.o
make[4]: *** [exclude.o] Error 1
make[4]: *** Waiting for unfinished jobs....
In file included from stdio-safer.h:20:0,
                 from freopen-safer.c:22:
./stdio.h:1012:1: error: 'gets' undeclared here (not in a function)

Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
parent 695edcba
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
Handle the fact that gets() no longer exists in glibc >= 2.16

The problem has been fixed upstream, but no release containing the fix
has been made so far.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Index: b/lib/stdio.in.h
===================================================================
--- a/lib/stdio.in.h
+++ b/lib/stdio.in.h
@@ -693,12 +693,14 @@
 _GL_CXXALIAS_SYS (gets, char *, (char *s));
 #  undef gets
 # endif
+# if defined gets
 _GL_CXXALIASWARN (gets);
 /* It is very rare that the developer ever has full control of stdin,
    so any use of gets warrants an unconditional warning.  Assume it is
    always declared, since it is required by C89.  */
 _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
 #endif
+#endif
 
 
 #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@