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 inMessage-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 -------------