Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.csd.uwm.edu!gem.mps.ohio-state.edu!ginosko!uunet!ncrlnk!ncr-sd!hp-sdd!hplabs!hpda!hpcuhb!hpcllla!hpclisp!hpclwjm!walter
From: walter@hpclwjm.HP.COM (Walter Murray)
Newsgroups: comp.lang.c
Subject: Re: va_list used in 
Message-ID: <660053@hpclwjm.HP.COM>
Date: 15 Aug 89 16:58:09 GMT
References: <1140@midgard.Midgard.MN.ORG>
Organization: Hewlett-Packard Calif. Language Lab
Lines: 24

Walter Bright writes:

> Since  is supplied by the *vendor*,
> the problem can be solved in one of two ways,

> 1. In stdio.h, include the lines:
> 	#ifndef __STDARG_H		/* #define'd by stdarg.h	*/
> 	#include 		/* get definition of va_list	*/
> 	#endif

The problem with this is that it causes trouble for a program like
the following, which I think is perfectly legal.

   #include 
   #define va_start "My own personal macro"
   static char *va_list = va_start;
   main(){printf ("%s\n", va_list);}

Note that names like va_start and va_list are not reserved for
the implementation if the program has not explicitly included
any associated header.

Walter Murray
-------------