Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version VT1.00C 11/1/84; site vortex.UUCP Path: utzoo!watmath!clyde!bonnie!akgua!whuxlm!harpo!decvax!bellcore!vortex!lauren From: lauren@vortex.UUCP (Lauren Weinstein) Newsgroups: net.jokes.d Subject: Re: more dave barry Message-ID: <810@vortex.UUCP> Date: Wed, 25-Sep-85 14:36:11 EDT Article-I.D.: vortex.810 Posted: Wed Sep 25 14:36:11 1985 Date-Received: Sat, 28-Sep-85 07:55:27 EDT Lines: 29 Date-ReceiAte: Seems that the XENIX 3.0 ctype.h has toupper() and tolower() defined as macros like this,... #define toupper(x) (ifsomething(x) ? dosomething(x) : (x)) which breaks badly if (x) is autoincrement or autodecrement. Ie. toupper(s++) goes to (ifsomething(s++) ? donesomething(s++) : (s++)), which is clearly wrong. The fix is to ctype.h, to not use the trinary operator; or to use the libc versions instead (by #undef'ing toupper() and tolower()); NB: This only holds for the Intel distribution, I have not checked the IBM XENIX 3.0 release. -- ***dan {allegra,astrovax,princeton,twg}!fisher!djl The misplaced (You call *that* a ski slope??) Californian #! rnews 1428 Relay-Version: version B 2.10.2 9/18/84; site bonnie.UUCP Posting-Version: version VT1.00C 11/1/84; site vortex.UUCP Path: bonnie!akgua!whuxlm!harpo!decvax!bellcore!vortex!lauren From: lauren@vortex.UUCP (Lauren Weinstein) Newsgroups: net.jokes.d Subject: Re: more dave barry Message-ID: <810@vortex.UUCP> Date: 25 Sep 85 18:36:11 GMT Date-Received: 27 Sep 85 21:54:30 GMT References: <421@npois.UUCP> Or