registerRecordDeviceDriver.pl bug
Bug #1995728 reported by
Dirk Zimoch
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
EPICS Base | Status tracked in 7.0 | |||||
7.0 |
Fix Committed
|
Undecided
|
Andrew Johnson |
Bug Description
In EPICS 7, when processing a dbd file with a long function name (> 24 chars), registerRecordD
With the following file test.dbd:
function(
The command perl registerRecordD
epicsShareExtern reg_func pvar_func_
yz0123456789;
I suspect the error is in line 191 caused by the usage of wrap().
I have tested this with perl v5.16.3 and v5.26.3.
To post a comment you must log in.
I think I understand the reason for the buggy line break. register_ func_abcdefghij klmnopqrstuvwxy z0123456789" has no space, thus it is broken up.
The wrap() documentation says: "When words that are longer than $columns are encountered, they are broken up."
But there are spaces where the line could be broken. Why are they not used?
Because the part "epicsShareExtern reg_func " is the $initial_tab and thus not considered for line break. After that, "pvar_func_
The solution is:
$Text::Wrap::huge = "overflow";