diff --git a/src/ca/ca_printf.c b/src/ca/ca_printf.c new file mode 100644 index 000000000..9d9ca9a0e --- /dev/null +++ b/src/ca/ca_printf.c @@ -0,0 +1,63 @@ +#if defined(UNIX) || defined(VMS) +# include +#elif defined(vxWorks) +# include +#endif +#include + + +/* + * + * + * ca_printf() + * + * Dump error messages to the appropriate place + * + */ +int +ca_printf(va_alist) +va_dcl +{ + va_list args; + char *pformat; + int status; + + va_start(args); + + pformat = va_arg(args, char *); + +# if defined(UNIX) || defined(VMS) + { + status = vfprintf( + stderr, + pformat, + args); + } +# elif defined(vxWorks) + { + int logMsgArgs[6]; + int i; + + for(i=0; i< NELEMENTS(logMsgArgs); i++){ + logMsgArgs[i] = va_arg(args, int); + } + + status = logMsg( + pformat, + logMsgArgs[0], + logMsgArgs[1], + logMsgArgs[2], + logMsgArgs[3], + logMsgArgs[4], + logMsgArgs[5], + logMsgArgs[6]); + + } +# else + #### dont compile in this case #### +# endif + + va_end(args); + + return status; +}