From d6154fb758bddfc22abf303f5cb015b2c9fb4eeb Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Sun, 6 Jan 2002 09:28:13 +0000 Subject: * ioctl.cc (ioctl): Make third argument optional. * include/sys/ioctl.h: Ditto in declaration. * dtable.cc (dtable::init_std_file_from_handle): Revert previous bogus patch. * window.cc (WndProc): Raise SIGURG instead of SIGIO in case of FD_OOB message. --- winsup/cygwin/ioctl.cc | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'winsup/cygwin/ioctl.cc') diff --git a/winsup/cygwin/ioctl.cc b/winsup/cygwin/ioctl.cc index 98c157800..95986a6c0 100644 --- a/winsup/cygwin/ioctl.cc +++ b/winsup/cygwin/ioctl.cc @@ -23,25 +23,31 @@ details. */ #include extern "C" int -ioctl (int fd, int cmd, void *buf) +ioctl (int fd, int cmd, ...) { cygheap_fdget cfd (fd); if (cfd < 0) return -1; + /* check for optional mode argument */ + va_list ap; + va_start (ap, cmd); + char *argp = va_arg (ap, char *); + va_end (ap); + debug_printf ("fd %d, cmd %x\n", fd, cmd); if (cfd->is_tty () && cfd->get_device () != FH_PTYM) switch (cmd) { case TCGETA: - return tcgetattr (fd, (struct termios *) buf); + return tcgetattr (fd, (struct termios *) argp); case TCSETA: - return tcsetattr (fd, TCSANOW, (struct termios *) buf); + return tcsetattr (fd, TCSANOW, (struct termios *) argp); case TCSETAW: - return tcsetattr (fd, TCSADRAIN, (struct termios *) buf); + return tcsetattr (fd, TCSADRAIN, (struct termios *) argp); case TCSETAF: - return tcsetattr (fd, TCSAFLUSH, (struct termios *) buf); + return tcsetattr (fd, TCSAFLUSH, (struct termios *) argp); } - return cfd->ioctl (cmd, buf); + return cfd->ioctl (cmd, argp); } -- cgit v1.2.3