delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2000/06/03/15:28:07

Message-ID: <39394EC9.91B87484@softhome.net>
Date: Sat, 03 Jun 2000 21:30:33 +0300
From: Laurynas Biveinis <lauras AT softhome DOT net>
X-Mailer: Mozilla 4.72 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: djgpp-workers AT delorie DOT com
Subject: Re: ANSI C and stdio.h
References: <3937DEA9 DOT 63606B27 AT softhome DOT net> <200006021918 DOT PAA03693 AT envy DOT delorie DOT com> <3938C1DE DOT E005BBA9 AT softhome DOT net> <200006030953 DOT MAA01306 AT alpha DOT netvision DOT net DOT il>
Reply-To: djgpp-workers AT delorie DOT com

Eli Zaretskii wrote:
> 
> > Date: Sat, 03 Jun 2000 11:29:18 +0300
> > From: Laurynas Biveinis <lauras AT softhome DOT net>
> >
> > And what about the original point: "stdio.h needs to have access to
> > that data type, but *must not use that name*."?
> 
> I wonder how can this be, given the fact that stdio.h defines
> prototypes for vfprintf and its ilk, which the ANSI Standard defines
> via va_list.

BTW, that C standard draft I'm using and DJGPP lib reference defines vfprintf 
family's prototypes like

#include <stdarg.h>
#include <stdio.h>
int vfprintf(..., va_list args);

Note that stdarg.h should be included as well. Why?
 
> Can someone tell how do other systems define their headers?

I found FreeBSD definition by accident in gcc mail archives:

int      vfprintf __P((FILE *, const char *, _BSD_VA_LIST_));
int      vprintf __P((const char *, _BSD_VA_LIST_));
...

with _BSD_VA_LIST_ declared in /usr/include/machine/ansi.h as:

#define     _BSD_VA_LIST_   char *

But this still does not clear things for me. Maybe I'll ask in
comp.std.c

Laurynas

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019