Re: bug in cygwin sys/termios.h?

2005-01-21 Thread Corinna Vinschen
On Jan 20 21:36, Eric Blake wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 When compiling coreutils/src/stty.c, I got a warning from this segment:
 
 /* ISC renamed swtch to susp for termios, but we'll accept either name.  */
 #if defined(VSUSP)  !defined(VSWTCH)
 # define VSWTCH VSUSP
 # define CSWTCH CSUSP
 #endif
 #if defined(VSWTCH)  !defined(CSWTCH)
 # define CSWTCH _POSIX_VDISABLE
 #endif
 
 stty.c:106:1: warning: CSWTCH redefined
 In file included from /usr/include/termios.h:4,
  from stty.c:40:
 /usr/include/sys/termios.h:85:1: warning: this is the location of the
 previous definition
 
 Investigation of sys/termios.h shows that cygwin has #define CSWTCH 0x1a
 (ctrl-z), #define CSUSP CTRL('z') (where CTRL is ((ch)0x1f), #define
 VSUSP 14, #define VSWTC 15, but no VSWTCH anywhere!  Is VSWTC a typo
 for the intended VSWTCH?  And why are VSUSP and VSWTC distinct, when
 CSWTCH and CSUSP are the same and coreutils was trying to use VSUSP as an
 alias to VSWTCH?

Looks like a bug in coreutils to me.  The above mentioned defines are
not equal, but equivalent defined on Linux.

Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader  mailto:cygwin@cygwin.com
Red Hat, Inc.

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



bug in cygwin sys/termios.h?

2005-01-20 Thread Eric Blake
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

When compiling coreutils/src/stty.c, I got a warning from this segment:

/* ISC renamed swtch to susp for termios, but we'll accept either name.  */
#if defined(VSUSP)  !defined(VSWTCH)
# define VSWTCH VSUSP
# define CSWTCH CSUSP
#endif
#if defined(VSWTCH)  !defined(CSWTCH)
# define CSWTCH _POSIX_VDISABLE
#endif

stty.c:106:1: warning: CSWTCH redefined
In file included from /usr/include/termios.h:4,
 from stty.c:40:
/usr/include/sys/termios.h:85:1: warning: this is the location of the
previous definition

Investigation of sys/termios.h shows that cygwin has #define CSWTCH 0x1a
(ctrl-z), #define CSUSP CTRL('z') (where CTRL is ((ch)0x1f), #define
VSUSP 14, #define VSWTC 15, but no VSWTCH anywhere!  Is VSWTC a typo
for the intended VSWTCH?  And why are VSUSP and VSWTC distinct, when
CSWTCH and CSUSP are the same and coreutils was trying to use VSUSP as an
alias to VSWTCH?

Obviously, coreutils should probably add a check for #if defined(CSUSP)
 !defined(CSWTCH) before defining CSWTCH.  But in this particular case,
the coreutils bug was harmless because the redefinition still ended up
with the same value for CSWTCH, even though it was a different spelling of it.

- --
Life is short - so eat dessert first!

Eric Blake [EMAIL PROTECTED]
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.0 (Cygwin)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFB8Ibn84KuGfSFAYARAis6AJ9gTEdoh+O31zRRWM4WNK2BWLFwiACgjZGY
uObiL9slh4mV6l91XhuTqHI=
=JPr0
-END PGP SIGNATURE-

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/