Files
epics-base/str-to-enum.patch
2012-03-20 10:29:50 +00:00

76 lines
2.4 KiB
Diff

=== modified file 'src/db/dbConvert.c'
--- src/db/dbConvert.c 2012-01-11 22:47:37 +0000
+++ src/db/dbConvert.c 2012-01-26 23:05:05 +0000
@@ -2600,7 +2600,7 @@
status = (*prset->get_enum_strs)(paddr,&enumStrs);
if(!status) {
nchoices = enumStrs.no_str;
- nargs = sscanf(pbuffer," %u %n",&ind,&nchars);
+ nargs = sscanf(pbuffer,"%u%n",&ind,&nchars);
if(nargs==1 && nchars==strlen(pbuffer) && ind<nchoices) {
*pfield = ind;
return(0);
@@ -2649,7 +2649,7 @@
return(0);
}
}
- nargs = sscanf(pbuffer," %u %n",&ind,&nchars);
+ nargs = sscanf(pbuffer,"%u%n",&ind,&nchars);
if(nargs==1 && nchars==strlen(pbuffer) && ind<nChoice) {
*pfield = ind;
return(0);
@@ -2687,7 +2687,7 @@
return(0);
}
}
- nargs = sscanf(pbuffer," %u %n",&ind,&nchars);
+ nargs = sscanf(pbuffer,"%u%n",&ind,&nchars);
if(nargs==1 && nchars==strlen(pbuffer) && ind<nChoice) {
*pfield = ind;
return(0);
=== modified file 'src/db/dbFastLinkConv.c'
--- src/db/dbFastLinkConv.c 2010-10-05 19:27:37 +0000
+++ src/db/dbFastLinkConv.c 2012-01-26 23:05:11 +0000
@@ -272,7 +272,7 @@
status = (*prset->get_enum_strs)(paddr,&enumStrs);
if(!status) {
nchoices = enumStrs.no_str;
- nargs = sscanf(from," %u %n",&ind,&nchars);
+ nargs = sscanf(from,"%u%n",&ind,&nchars);
if(nargs==1 && nchars==strlen(from) && ind<nchoices) {
*pfield = ind;
return(0);
@@ -315,7 +315,7 @@
return(0);
}
}
- nargs = sscanf(from," %u %n",&ind,&nchars);
+ nargs = sscanf(from,"%u%n",&ind,&nchars);
if(nargs==1 && nchars==strlen(from) && ind<nChoice) {
*to = ind;
return(0);
@@ -347,7 +347,7 @@
return(0);
}
}
- nargs = sscanf(from," %u %n",&ind,&nchars);
+ nargs = sscanf(from,"%u%n",&ind,&nchars);
if(nargs==1 && nchars==strlen(from) && ind<nChoice) {
*to = ind;
return(0);
=== modified file 'src/db/dbTest.c'
--- src/db/dbTest.c 2010-10-05 19:27:37 +0000
+++ src/db/dbTest.c 2012-01-26 21:34:42 +0000
@@ -317,7 +317,7 @@
if (nameToAddr(pname, &addr)) 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 &&
+ if (addr.dbr_field_type == DBR_ENUM && *pvalue &&
strspn(pvalue,"0123456789") == strlen(pvalue)) {
unsigned short value;