Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!gem.mps.ohio-state.edu!ginosko!uunet!ispi!jbayer From: jbayer@ispi.UUCP (Jonathan Bayer) Newsgroups: comp.unix.xenix Subject: Bug in Xenix stdarg.h Keywords: stdarg Message-ID: <1184@ispi.UUCP> Date: 9 Oct 89 16:54:32 GMT Organization: Intelligent Software Products, Inc. Lines: 32 Greetings, This problem is on an SCO Xenix 2.3.2 system running the 2.3 development system. While developing a program I had occasion to use in a program. I kept getting errors, and finally traced them down to . It turns out that there is an error in the defination: Original : #define va_dcl int va_alist; #define va_start(list, parmN) list = (char *) &va_alist Corrected : #define va_start(list, parmN) list = (char *) &parmN + sizeof(parmN) According to the ansi defination, va_alist is not there. It appears that someone ported the , and either didn't test it or didn't understand the defination. I made these conclusions based on the manual for the Microsoft C 5.1 compiler, which gives a nice description of the differences between and . JB -- Jonathan Bayer Intelligent Software Products, Inc. (201) 245-5922 500 Oakwood Ave. jbayer@ispi.COM Roselle Park, NJ 07204