diff --git a/src/ca/access.c b/src/ca/access.c index c073e1f68..0dfda8842 100644 --- a/src/ca/access.c +++ b/src/ca/access.c @@ -134,6 +134,7 @@ static char *sccsId = "@(#) $Id$"; #include "iocinf.h" #include "net_convert.h" +#include #include /* for VMS old CC include order madness */ @@ -3384,7 +3385,7 @@ int ca_channel_status(int tid) * ca_replace_printf_handler () */ int APIENTRY ca_replace_printf_handler ( -int (*ca_printf_func)(char *pformat, va_list args) +int (*ca_printf_func)(const char *pformat, va_list args) ) { if (ca_printf_func) { @@ -3406,13 +3407,13 @@ int (*ca_printf_func)(char *pformat, va_list args) */ int ca_printf(char *pformat, ...) { - int (*ca_printf_func)(char *pformat, va_list args); + int (*ca_printf_func)(const char *pformat, va_list args); va_list theArgs; int status; va_start(theArgs, pformat); - ca_printf_func = ca_default_printf; + ca_printf_func = epicsVprintf; if (ca_static) { if (ca_static->ca_printf_func) { ca_printf_func = ca_static->ca_printf_func; @@ -3426,21 +3427,3 @@ int ca_printf(char *pformat, ...) return status; } - -/* - * ca_default_printf() - * (this default is replaced under vxWorks - * - see vxWorks_depen.c) - */ -int ca_default_printf(char *pformat, va_list args) -{ - int status; - - status = vfprintf( - stderr, - pformat, - args); - return status; -} - - diff --git a/src/ca/acctst.c b/src/ca/acctst.c index 2a60b48d2..79dd17267 100644 --- a/src/ca/acctst.c +++ b/src/ca/acctst.c @@ -9,9 +9,14 @@ static char *sccsId = "@(#) $Id$"; #include #endif +/* + * ANSI + */ #include #include #include +#include +#include #include "os_depen.h" @@ -219,22 +224,22 @@ int doacctst(char *pname) double dval = 3.3; float fval = -8893.3; - double dret; - float fret; + double dret = DBL_MAX; + float fret = FLT_MAX; status = ca_put(DBR_DOUBLE, chix1, &dval); SEVCHK(status, NULL); status = ca_get(DBR_DOUBLE, chix1, &dret); SEVCHK(status, NULL); ca_pend_io(30.0); - assert(dval - dret < .000001); + assert( fabs(dval-dret) < DBL_EPSILON*4); status = ca_put(DBR_FLOAT, chix1, &fval); SEVCHK(status, NULL); status = ca_get(DBR_FLOAT, chix1, &fret); SEVCHK(status, NULL); ca_pend_io(30.0); - assert(fval - fret < .0001); + assert( fabs(fval-fret) < FLT_EPSILON*4); } /* diff --git a/src/ca/iocinf.h b/src/ca/iocinf.h index d69b20cd7..efc3a6a19 100644 --- a/src/ca/iocinf.h +++ b/src/ca/iocinf.h @@ -100,6 +100,7 @@ HDRVERSIONID(iocinfh, "$Id$") #include #include #include +#include /* * CA private includes @@ -410,7 +411,7 @@ struct ca_static{ void (*ca_connection_func) (struct connection_handler_args); void *ca_connection_arg; - int (*ca_printf_func)(char *pformat, va_list args); + int (*ca_printf_func)(const char *pformat, va_list args); void (*ca_fd_register_func) (void *, SOCKET, int); void *ca_fd_register_arg; @@ -594,7 +595,6 @@ ca_time cac_time_sum(ca_time *pTVA, ca_time *pTVB); void caIOBlockFree(evid pIOBlock); void clearChannelResources(unsigned id); void caSetDefaultPrintfHandler (); -int ca_default_printf(char *pformat, va_list args); /* * !!KLUDGE!! diff --git a/src/ca/posix_depen.c b/src/ca/posix_depen.c index f8590a4f8..c95bd87d0 100644 --- a/src/ca/posix_depen.c +++ b/src/ca/posix_depen.c @@ -279,6 +279,6 @@ void ca_spawn_repeater() */ void caSetDefaultPrintfHandler () { - ca_static->ca_printf_func = ca_default_printf; + ca_static->ca_printf_func = epicsVprintf; } diff --git a/src/ca/vms_depen.c b/src/ca/vms_depen.c index d15227fce..bb3868c28 100644 --- a/src/ca/vms_depen.c +++ b/src/ca/vms_depen.c @@ -317,6 +317,6 @@ void caHostFromInetAddr(struct in_addr *pnet_addr, char *pBuf, unsigned size) */ void caSetDefaultPrintfHandler () { - ca_static->ca_printf_func = ca_default_printf; + ca_static->ca_printf_func = epicsVprintf; } diff --git a/src/ca/vxWorks_depen.c b/src/ca/vxWorks_depen.c index 886417684..0eef64d87 100644 --- a/src/ca/vxWorks_depen.c +++ b/src/ca/vxWorks_depen.c @@ -34,7 +34,6 @@ #include #include "iocinf.h" #include "remLib.h" -#include LOCAL void ca_repeater_task(); LOCAL void ca_task_exit_tcb(WIND_TCB *ptcb); @@ -892,6 +891,6 @@ void cac_recv_task(int tid) */ void caSetDefaultPrintfHandler () { - ca_static->ca_printf_func = vmprintf; + ca_static->ca_printf_func = epicsVprintf; } diff --git a/src/ca/windows_depen.c b/src/ca/windows_depen.c index db8b37f6d..b771bf3f8 100644 --- a/src/ca/windows_depen.c +++ b/src/ca/windows_depen.c @@ -251,7 +251,7 @@ void ca_spawn_repeater() */ void caSetDefaultPrintfHandler () { - ca_static->ca_printf_func = ca_default_printf; + ca_static->ca_printf_func = epicsVprintf; }