chris@trantor.umd.edu (Chris Torek) (02/28/88)
In article <1078@pasteur.Berkeley.Edu> dheller@cory.Berkeley.EDU.UUCP (Dan Heller) writes: >I have reservations about wanting to use varargs for _all_ the arguments >passed to the function. While lint be be told not to "complain", it avoids >lint's ability to find potential mistakes in the calling routines. True enough. I have found, however, that /*VARARGSn*/ does not quite work as advertised; and the following trick enables type checking while still using varargs according to definition: #ifdef lint /* VARARGS ARGSUSED */ message(fmt) char *fmt; { } #define message _lint_message #endif lint /* VARARGS */ message(va_alist) va_dcl { va_list l; va_start(l); ... va_end(l); } #undef message This creates warnings about _lint_message being unused, but a short `grep' fixes that right up: lint ... | grep -v '_lint_.* defined.*but never used' The dpANS would suggest a name other than _lint_message; X_lint_message should be fine. -- In-Real-Life: Chris Torek, Univ of MD Computer Science, +1 301 454 7163 (still on trantor.umd.edu because mimsy is not yet re-news-networked) Domain: chris@mimsy.umd.edu Path: ...!uunet!mimsy!chris