shishi-1.0.1 fails to build with glibc-2.16.0 with:

[...]
In file included from md4.h:23:0,
                 from md4.c:25:
./stdio.h:1030:1: error: 'gets' undeclared here (not in a function)

gets is required by C89, deprecated in C99 and was removed in C11.  The
attached patch works for me and is similar to what gnulib does [1]

-- 
Eray Aslan <e...@gentoo.org>

[1] http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00186.html
>From 50eb0a03e7109e3a772bcb9fb6ff5af2649fd3e1 Mon Sep 17 00:00:00 2001
From: Eray Aslan <eray.as...@caf.com.tr>
Date: Tue, 9 Oct 2012 08:27:57 +0000
Subject: [PATCH] Fix build failure with glibc-2.16.0. gets is removed in
 C11


Signed-off-by: Eray Aslan <eray.as...@caf.com.tr>
---
 gl/stdio.in.h | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/gl/stdio.in.h b/gl/stdio.in.h
index 06d9780..fa04a10 100644
--- a/gl/stdio.in.h
+++ b/gl/stdio.in.h
@@ -713,10 +713,13 @@ _GL_CXXALIAS_SYS (gets, char *, (char *s));
 # endif
 _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.  */
+   so any use of gets warrants an unconditional warning; besides C11
+   removed it.  */
+#ifdef gets
+#undef gets
 _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
 #endif
+#endif
 
 
 #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@
-- 
1.7.12

_______________________________________________
Help-shishi mailing list
Help-shishi@gnu.org
https://lists.gnu.org/mailman/listinfo/help-shishi

Reply via email to