INST_IO no longer accept invalid string as empty
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user