Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!philabs!cmcl2!harvard!caip!lll-crg!lll-lcc!vecpyr!markl From: markl@vecpyr.UUCP (Mark Patrick) Newsgroups: net.lang.c,net.micro.pc,net.unix-wizards Subject: Varargs, portability Message-ID: <279@vecpyr.UUCP> Date: Fri, 9-May-86 18:55:04 EDT Article-I.D.: vecpyr.279 Posted: Fri May 9 18:55:04 1986 Date-Received: Sun, 11-May-86 05:43:34 EDT Organization: Visual Engineering Inc, San Jose, CA Lines: 40 Xref: linus net.lang.c:8223 net.micro.pc:7783 net.unix-wizards:15007 Is the following program portable to any machine which provides a (reasonable) implementation of C. #include fred(ap) va_list ap ; { int i ; for ( i=0; i < 52 ; i++ ) { if ( (i%2) == 0 ) printf("%d\n",va_arg(ap, int)) ; else printf("%f\n", va_arg(ap, double)) ; } } joe(va_alist) va_dcl { va_list ap ; va_start(ap) ; fred(ap) ; va_end(ap) ; } main() { joe( 1,2.5,3,4.5,5,6.5,7,8.5,9,10.5,11,12.5,13,14.5,15, 16.5, 17, 18.5, 19,20.5,21,22.5,23,24.5,25,26.5,27,28.5,29,30.5,31,32.5,33,34.5,35,36.5, 37,38.5,39,40.5,41,42.5,43,44.5,45,46.5,47,48.5,49,50.5,51,52.5) ; } -- Mark Patrick ...{lll-crg, amd, dual}!vecpyr!markl Visual Engineering Corp, San Jose, CA