X-Authentication-Warning: acp3bf.physik.rwth-aachen.de: broeker owned process doing -bs Date: Tue, 6 Jun 2000 15:09:06 +0200 (MET DST) From: Hans-Bernhard Broeker X-Sender: broeker AT acp3bf To: djgpp-workers AT delorie DOT com Subject: Re: ANSI C and stdio.h In-Reply-To: <200006051708.UAA17738@alpha.netvision.net.il> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Mon, 5 Jun 2000, Eli Zaretskii wrote: > > Date: Mon, 05 Jun 2000 18:16:25 +0300 > > From: Laurynas Biveinis > > > > BTW, if user includes only, from all stdarg machinery > > he gets *only* va_list. No va_start, va_arg, va_end... > > That's because va_list is the only type you basolutely need to call > vfprintf and friends. The other ones are only needed if you > manipulate va_arg explicitly in your code, in which case you must > include stdarg.h. Actually, the only reason I can see for importing the definition of va_list into is that the compiler cannot accept that header, without it. Code that actually does use vfprintf() & friends will always have to #include to be portable. The problem case is code that does #include , but does not want to use vfprintf(). Such code must be allowed. The remaining question is whether the *name* of the va_list type, as defined and used in may have to be moved away from the public name space, i.e. renamed to something like __dj_va_list with containing the same use as and an additional typedef __dj_va_list va_list; to provide the 'official' name of that type. Hans-Bernhard Broeker (broeker AT physik DOT rwth-aachen DOT de) Even if all the snow were burnt, ashes would remain.