From d7275641dc084d5cd5f038975739fa8218772606 Mon Sep 17 00:00:00 2001 From: Marty Kraimer Date: Tue, 14 Feb 1995 19:57:38 +0000 Subject: [PATCH] Revert to previous version of dbpf --- src/db/dbTest.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/db/dbTest.c b/src/db/dbTest.c index 2658469a8..9088c4af9 100644 --- a/src/db/dbTest.c +++ b/src/db/dbTest.c @@ -389,8 +389,21 @@ long dbpf(char *pname,char *pvalue) errMessage(status,"dbNameToAddr error"); return(1); } - status=dbPutField(&addr,DBR_STRING,pvalue,1L); - if(status) return(1); + /* For enumerated types must allow for ENUM rather than string*/ + /* If entire field is digits then use DBR_ENUM else DBR_STRING*/ + if((addr.dbr_field_type==DBR_ENUM) && (*pvalue!=0) + && (strspn(pvalue,"0123456789")==strlen(pvalue))) { + short value; + + sscanf(pvalue,"%hu",&value); + status=dbPutField(&addr,DBR_ENUM,&value,1L); + } else { + status=dbPutField(&addr,DBR_STRING,pvalue,1L); + } + if(status) { + errMessage(status,"dbPutField error"); + return(1); + } status=dbgf(pname); return(status); }