From a473612084525fd60b180a9b8358c8eaedfb698a Mon Sep 17 00:00:00 2001 From: Ken Evans Date: Mon, 29 Mar 2004 19:35:58 +0000 Subject: [PATCH] Added a version of gphDump that writes to an arbitrary file pointer rather than stdout. --- src/libCom/gpHash/gpHash.h | 1 + src/libCom/gpHash/gpHashLib.c | 13 +++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/libCom/gpHash/gpHash.h b/src/libCom/gpHash/gpHash.h index f822524e8..2d254f165 100644 --- a/src/libCom/gpHash/gpHash.h +++ b/src/libCom/gpHash/gpHash.h @@ -40,6 +40,7 @@ epicsShareFunc void epicsShareAPI gphDelete(void *pvt,const char *name,void *pvtid); epicsShareFunc void epicsShareAPI gphFreeMem(void *pvt); epicsShareFunc void epicsShareAPI gphDump(void *pvt); +epicsShareFunc void epicsShareAPI gphDumpFP(FILE *fp,void *pvt); #ifdef __cplusplus } diff --git a/src/libCom/gpHash/gpHashLib.c b/src/libCom/gpHash/gpHashLib.c index 02aaf2792..9e1487d59 100644 --- a/src/libCom/gpHash/gpHashLib.c +++ b/src/libCom/gpHash/gpHashLib.c @@ -231,6 +231,11 @@ void epicsShareAPI gphFreeMem(void *pvt) } void epicsShareAPI gphDump(void *pvt) +{ + gphDumpFP(stdout,pvt); +} + +void epicsShareAPI gphDumpFP(FILE *fp,void *pvt) { int hashInd; gphPvt *pgphPvt = (gphPvt *)pvt; @@ -245,13 +250,13 @@ void epicsShareAPI gphDump(void *pvt) if(paplist[hashInd] == NULL) continue; plist=paplist[hashInd]; pgphNode = (GPHENTRY *) ellFirst(plist); - printf("\n %3.3hd=%3.3d",hashInd,ellCount(plist)); + fprintf(fp,"\n %3.3hd=%3.3d",hashInd,ellCount(plist)); number=0; while(pgphNode) { - printf(" %s %p",pgphNode->name,pgphNode->pvtid); - if(number++ ==2) {number=0;printf("\n ");} + fprintf(fp," %s %p",pgphNode->name,pgphNode->pvtid); + if(number++ ==2) {number=0;fprintf(fp,"\n ");} pgphNode = (GPHENTRY *) ellNext((ELLNODE*)pgphNode); } } - printf("\n End of General Purpose Hash\n"); + fprintf(fp,"\n End of General Purpose Hash\n"); }