fix regression with applications that expect struct winsize in ioctl.h
authorRich Felker <dalias@aerifal.cx>
Sun, 30 Aug 2020 20:47:40 +0000 (16:47 -0400)
committerRich Felker <dalias@aerifal.cx>
Sun, 30 Aug 2020 20:47:40 +0000 (16:47 -0400)
putting the (simple) definition in alltypes.h seems like the best
solution here. making sys/ioctl.h implicitly include termios.h is
probably excess namespace pollution.

include/alltypes.h.in
include/sys/ioctl.h
include/termios.h

index d9ff462..d47aeea 100644 (file)
@@ -77,6 +77,8 @@ TYPEDEF struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t;
 
 STRUCT iovec { void *iov_base; size_t iov_len; };
 
+STRUCT winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; };
+
 TYPEDEF unsigned socklen_t;
 TYPEDEF unsigned short sa_family_t;
 
index d6a7d47..a9a2346 100644 (file)
@@ -4,6 +4,8 @@
 extern "C" {
 #endif
 
+#define __NEED_struct_winsize
+
 #include <bits/alltypes.h>
 #include <bits/ioctl.h>
 
index 793cfc9..cbb5330 100644 (file)
@@ -8,6 +8,7 @@ extern "C" {
 #include <features.h>
 
 #define __NEED_pid_t
+#define __NEED_struct_winsize
 
 #include <bits/alltypes.h>
 
@@ -15,13 +16,6 @@ typedef unsigned char cc_t;
 typedef unsigned int speed_t;
 typedef unsigned int tcflag_t;
 
-struct winsize {
-       unsigned short ws_row;
-       unsigned short ws_col;
-       unsigned short ws_xpixel;
-       unsigned short ws_ypixel;
-};
-
 #define NCCS 32
 
 #include <bits/termios.h>