Database HW link parameter string no longer optional in V7
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
EPICS Base | Status tracked in 7.0 | |||||
3.16 |
Fix Released
|
Medium
|
mdavidsaver | |||
7.0 |
Fix Released
|
Medium
|
Andrew Johnson |
Bug Description
Until and including 3.15 -- (I didn't look at 3.16) the parameter string '@<parameter>' was an optional part of hardware link fields.
In V7 this no longer seems to be the case
dbStaticLib:2320:
if (parm && pinfo->ltype != RF_IO) {
/* move parm string to beginning of buffer */
} else if (!parm && pinfo->ltype == RF_IO) {
/* RF_IO, the string isn't needed at all */
}
else goto fail;
return 0;
i.e., RF_IO links must not have a '@<parameter>' part but all other link types do.
Since this has the potential for breaking many existing databases it would seem desirable to de-escalate, e.g:
if ( !parm || pinfo->ltype == RF_IO ) {
if ( pinfo->target ) {
free(
pinfo->target = NULL;
}
} else {
memmove(
}
return 0;
description: | updated |
Core Group review at ESS:
Regression, "@" should be optional. MD to resolve whether parm should be NULL or an empty string based on previous behavior.