edw@ius2.cs.cmu.edu (Eddie Wyatt) (07/14/87)
The problem, the answer... :bc.c /* VARARGS 0 */ void tt(x,y) int x,y; { (void) printf("%d %d\n",x,y); } :bb.c extern void tt(); main() { tt(9.0); } lint bc.c bb.c bb.c: bc.c: tt, arg. 1 used inconsistently bc.c(4) :: bb.c(5) >From the man pages: /*VARARGS n*/ suppresses the usual checking for variable numbers of arguments in the following function declaration. The data types of the first n arguments are checked; a missing n is taken to be 0. From: Ray Butterworth <rbutterworth%orchid.waterloo.edu@RELAY.CS.NET> .Many versions (especially those like BSD based on the PCC version) .of lint have a bug that causes VARARGS0 to ignore the 0. i.e. asking .for any # >0 checks only the first # arguments, but asking for # = 0 .checks all arguments. .If you already knew this... No, I didn't know it for sure, but I suppected it after I couldn't get the damn thing to work right. I hope you don't mind me posting your answer Ray. I appreciate the help very much. I appreciate others that have replied also but I would like to say, I do know how the type "man lint". :-) -- Eddie Wyatt e-mail: edw@ius2.cs.cmu.edu terrorist, cryptography, DES, drugs, cipher, secret, decode, NSA, CIA, NRO.