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: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Thomas Petazzoni 2012-12-28 10:41:22 +00:00 committed by Peter Korsgaard
parent 695edcbabe
commit 653d64c509

View File

@ -0,0 +1,26 @@
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@