On 7/17/25 8:51 AM, Sam James wrote:
Zachary Santer <zsan...@gmail.com> writes:I've applied your patch, but gcc 15.1.0 has decided that a 'struct winsize *' not being a 'struct winsize *' is an error now. Configuration Information [Automatically generated, do not change]: Machine: x86_64 OS: cygwin Compiler: gcc Compilation CFLAGS: -Wno-error=incompatible-pointer-types uname output: MSYS_NT-10.0-26100 Zack2021HPPavilion 3.6.3-ab81aae6.x86_64 2025-07-01 18:20 UTC x86_64 Msys Machine Type: x86_64-pc-cygwin Bash Version: 5.3 Patch Level: 0 Release Status: maint Would be nice if bashbug were generated even if bash itself failed to build. From before I changed CFLAGS, obviously: winsize.c: In function 'get_new_window_size': winsize.c:98:39: error: passing argument 2 of 'tcgetwinsize' from incompatible pointer type [-Wincompatible-pointer-types] 98 | if (tty >= 0 && (tcgetwinsize (tty, &win) == 0) && win.ws_row > 0 && win.ws_col > 0) | ^~~~ | | | struct winsize * In file included from /usr/include/sys/ioctl.h:15, from winsize.c:31: /usr/include/sys/termios.h:304:42: note: expected 'struct winsize *' but argument is of type 'struct winsize *' 304 | int tcgetwinsize(int fd, struct winsize *winsz);This is probably a visibility of the type issue: https://gcc.gnu.org/PR117866.
OK. Where is `struct winsize' declared if not in termios.h or ioctl.h (or the nest of includes for old systems)? https://pubs.opengroup.org/onlinepubs/9799919799/functions/tcgetwinsize.html#tag_17_609 says that if libc has tcgetwinsize(), you only need <termios.h> to get its declaration. -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, UTech, CWRU c...@case.edu http://tiswww.cwru.edu/~chet/
OpenPGP_signature.asc
Description: OpenPGP digital signature