On 4/20/15 08:06, Chet Ramey wrote:
> On 4/19/15 1:46 PM, Chen Gang wrote:
>>
>> Under Darwin, ioctl() is declared in "sys/ioctl.h", but except for some
>> special control commands, we do not want to include "sys/ioctl.h". So
>> declare it explicitly, the related warning:
> 
> I suppose I could add that for Darwin/Mac OS X, but the supplied
> declaration is not correct for all systems (e.g., Solaris 10, HP-UX,
> AIX).  That's why I don't declare it, and probably why autoconf doesn't
> have a test for it.  Why not just include <sys/ioctl.h> there and see
> what happens?
> 

Just include <sys/ioctl.h> will be OK under Darwin:

---------------------------- diff begin -------------------------------

bash-3.2# git diff
diff --git a/readline/rltty.c b/readline/rltty.c
index d237b1c..5074e1f 100644
--- a/readline/rltty.c
+++ b/readline/rltty.c
@@ -37,7 +37,7 @@
 
 #include "rldefs.h"
 
-#if defined (GWINSZ_IN_SYS_IOCTL)
+#if defined (GWINSZ_IN_SYS_IOCTL) || defined (__DARWIN_C_LEVEL)
 #  include <sys/ioctl.h>
 #endif /* GWINSZ_IN_SYS_IOCTL */
 
---------------------------- diff end  -------------------------------

Originally, I was not sure whether it is suitable to add architecture
specific information in C source code, but at present, for me, there is
the only way for it (it is not a good way, but another ways are worse).


Thanks.
-- 
Chen Gang

Open, share, and attitude like air, water, and life which God blessed

_______________________________________________
Bug-readline mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-readline

Reply via email to