Use separate flag for once_connected state.

This commit is contained in:
Ralph Lange
2004-10-19 15:20:34 +00:00
parent a4aa9234ed
commit 22ef6a9653
2 changed files with 11 additions and 8 deletions

View File

@@ -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; i<nElems; ++i) { \
printf ("%s ", val2str(value, TYPE_ENUM, i)); \
@@ -420,7 +422,7 @@ char *dbr2str (const void *value, unsigned type)
}
void print_time_val_sts (pv* pv, int nElems)
void print_time_val_sts (pv* pv, unsigned long nElems)
{
char timeText[TIMETEXTLEN];
int i, printAbs;
@@ -439,7 +441,7 @@ void print_time_val_sts (pv* pv, int nElems)
epicsTimeToStrftime(timeText, TIMETEXTLEN, timeFormatStr, &tsNow);
printf("%-30s ", pv->name);
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);

View File

@@ -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 );