diff --git a/src/catools/tool_lib.c b/src/catools/tool_lib.c index d75daa135..4bbe08a52 100644 --- a/src/catools/tool_lib.c +++ b/src/catools/tool_lib.c @@ -109,13 +109,13 @@ char *val2str (const void *v, unsigned type, int index) switch (base_type) { case DBR_STRING: - sprintf(str, "%s", ((dbr_string_t*)val_ptr)[index]); + sprintf(str, "%s", ((dbr_string_t*) val_ptr)[index]); break; case DBR_FLOAT: sprintf(str, dblFormatStr, ((dbr_float_t*) val_ptr)[index]); break; case DBR_DOUBLE: - sprintf(str, dblFormatStr, ((dbr_double_t*)val_ptr)[index]); + sprintf(str, dblFormatStr, ((dbr_double_t*) val_ptr)[index]); break; case DBR_CHAR: ch = ((dbr_char_t*) val_ptr)[index]; @@ -125,10 +125,10 @@ char *val2str (const void *v, unsigned type, int index) sprintf(str, "%d",ch); break; case DBR_INT: - sprint_long(str, ((dbr_int_t*) val_ptr)[index]); + sprint_long(str, ((dbr_int_t*) val_ptr)[index]); break; case DBR_LONG: - sprint_long(str, ((dbr_long_t*) val_ptr)[index]); + sprint_long(str, ((dbr_long_t*) val_ptr)[index]); break; case DBR_ENUM: { @@ -405,6 +405,8 @@ char *dbr2str (const void *value, unsigned type) \ tsPrevious = ((struct TYPE *)value)->stamp; \ \ + /* Print count if array */ \ + if ( nElems > 1 ) printf("%lu ", nElems); \ /* Print Values */ \ for (i=0; iname); - if (pv->status == ECA_NEWCONN) + if (!pv->onceConnected) printf("*** Not connected (PV not found)\n"); else if (pv->status == ECA_DISCONN) printf("%s *** disconnected\n", timeText); diff --git a/src/catools/tool_lib.h b/src/catools/tool_lib.h index 0487293b2..d0f5d5e79 100644 --- a/src/catools/tool_lib.h +++ b/src/catools/tool_lib.h @@ -66,7 +66,8 @@ typedef struct int status; void* value; epicsTimeStamp tsPrevious; - int firstStampPrinted; + char firstStampPrinted; + char onceConnected; } pv; @@ -79,7 +80,7 @@ extern char dblFormatStr[]; /* Format string to print doubles (see -e -f option) extern char *val2str (const void *v, unsigned type, int index); extern char *dbr2str (const void *value, unsigned type); -extern void print_time_val_sts (pv *pv, int nElems); +extern void print_time_val_sts (pv *pv, unsigned long nElems); extern int create_pvs (pv *pvs, int nPvs, caCh *pCB ); extern int connect_pvs (pv *pvs, int nPvs );