aboutsummaryrefslogtreecommitdiffstats
path: root/io.c
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-11-23 11:24:49 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-11-23 11:24:49 +0000
commitfd8d9d9dceb445099aacbe75eb08246925c98527 (patch)
tree537f5285cb769812bfabe8683ef93ac49d725c14 /io.c
parentd47a1f8aaca58788baaabd84fb3cda66ed8f57b7 (diff)
downloadruby-fd8d9d9dceb445099aacbe75eb08246925c98527.tar.gz
* io.c (ioctl_narg_len): don't use _IOC_SIZE macro on Linux.
On Linux some constants for ioctl(2) doesn't include the size of its return value and 16bit value; for example FIONREAD 0x541B. Moreover the manual, ioctl_list(2), says "Note that the size bits are very unreliable: in lots of cases they are wrong, either because of buggy macros using sizeof(sizeof(struct)), or because of legacy values." So we shouldn't use it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'io.c')
-rw-r--r--io.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/io.c b/io.c
index 81da283384..0410e6339f 100644
--- a/io.c
+++ b/io.c
@@ -7956,8 +7956,6 @@ ioctl_narg_len(ioctl_req_t cmd)
#endif
#ifdef IOCPARM_LEN
len = IOCPARM_LEN(cmd); /* on BSDish systems we're safe */
-#elif defined(_IOC_SIZE)
- len = _IOC_SIZE(cmd);
#else
len = 256; /* otherwise guess at what's safe */
#endif