INST_IO no longer accept invalid string as empty

This commit is contained in:
Michael Davidsaver
2014-08-01 11:28:10 -04:00
parent a919d7e09d
commit 5a8915c051
2 changed files with 3 additions and 15 deletions
+3 -4
View File
@@ -482,9 +482,8 @@ static void testLinkFail(void)
/* INST_IO doesn't accept empty string */
testdbPutFieldFail(S_dbLib_badField, "rINST_IO.INP", DBR_STRING, "");
/* INST_IO accepts invalid input as empty string */
testdbPutFieldOk("rINST_IO.INP", DBR_STRING, "abc");
testdbGetFieldEqual("rINST_IO.INP", DBR_STRING, "@");
/* INST_IO doesn't accept empty string */
testdbPutFieldFail(S_dbLib_badField, "rINST_IO.INP", DBR_STRING, "abc");
/* syntax errors */
testdbPutFieldFail(S_dbLib_badField, "rVME_IO.INP", DBR_STRING, "#S201 C200 @another VME_IO");
@@ -505,7 +504,7 @@ static void testLinkFail(void)
MAIN(dbPutLinkTest)
{
testPlan(245);
testPlan(244);
testLinkParse();
testLinkFailParse();
testCADBSet();
-11
View File
@@ -2092,9 +2092,6 @@ long dbCanSetLink(DBLINK *plink, dbLinkInfo *pinfo, devSup *devsup)
case PV_LINK:
if(link_type==CONSTANT || link_type==PV_LINK)
return 0;
else if(link_type==INST_IO && pinfo->target[0]!='\0')
/* for compatibility. Invalid non-empty INST_IO is treated as empty string */
return 0;
default:
free(pinfo->target);
pinfo->target = NULL;
@@ -2224,14 +2221,6 @@ long dbSetLink(DBLINK *plink, dbLinkInfo *pinfo, devSup *devsup)
dbFreeLinkContents(plink);
dbSetLinkHW(plink, pinfo);
} else if(link_type==INST_IO && (pinfo->ltype==CONSTANT || pinfo->ltype==PV_LINK) && pinfo->target[0]!='\0') {
/* for compatibility. Invalid non-empty INST_IO is treated as empty string */
pinfo->target[0] = '\0';
pinfo->ltype = INST_IO;
dbFreeLinkContents(plink);
dbSetLinkHW(plink, pinfo);
} else
goto fail;