Sender: rich AT phekda DOT freeserve DOT co DOT uk Message-ID: <3DEA05B4.B057991@phekda.freeserve.co.uk> Date: Sun, 01 Dec 2002 12:51:00 +0000 From: Richard Dawe X-Mailer: Mozilla 4.77 [en] (X11; U; Linux 2.2.23 i586) X-Accept-Language: de,fr MIME-Version: 1.0 To: djgpp-workers AT delorie DOT com Subject: Re: printf and the 'hh' conversion specifier (C99) [PATCH] References: <200212011005 DOT gB1A5Cw22958 AT speedy DOT ludd DOT luth DOT se> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: djgpp-workers AT delorie DOT com Hello. ams AT ludd DOT luth DOT se wrote: > > According to Eli Zaretskii: > > On Sat, 30 Nov 2002, Richard Dawe wrote: > > > This is shorter than a short - a char. The only change that concerns > > > me is: > > > > > > ARG(int); > > > > > > switched to: > > > > > > ARG(signed); > > > > > > I'm pretty sure this is equivalent. > > > > Yes, I think so, since our `int' is a signed data type. > > But why is the change necessary then? Isn't is better to really > specify the type as explicit as possible? (Like "signed int" in this > case.) The change is necessary because "ARG(basetype)" now includes "(basetype char)" in the expansion and "signed int char" is not a valid type. Previously "ARG(basetype)" only had integer typecasts in the expansion. Switching from "ARG(int)" to "ARG(signed)" seemed like the best way (read: easiest way) of supporting chars in the existing code. Bye, Rich =] -- Richard Dawe [ http://www.phekda.freeserve.co.uk/richdawe/ ]