Changed $RXname to accept {} chars in the middle of a PV name.
RXdqs now handles escaped double-quotes and back-slashes properly.
New test program for the DBD::Base class and checks for each of
the $RXxxx variable regex's.
* int64b/master: (25 commits)
std/rec: streamline variable names in int64in/int64out
std/rec/test: recMiscTest check in64in/out
ioc/db: dbUnitTest helps support int64
std/rec: ioc64in/outRecord typed rset
minor
std/rec: fix copyright in int64in sources
std: remove SCM keywords from int64in and int64out sources
std/rec: fix promptgroups in dbd.pod files
std/rec: add and improve pod for int64in and int64out
std/rec: add pod documentation content for int64out
std/rec: add pod documentation for int64out record
dbStatic: dbPutStringNum() overflow handling
dbStatic: more informative error for bad field value
dbStatic: dbPutStringNum(, "") not an error
Release Notes
cvtFastPerform: Rename reserved member names, fix for vxWorks
Simplify epicsConvertDoubleToFloat()
More cvtFastPerform changes
Collate and report by precision
Restructure cvtFastPerform, fix VxWorks build
...
* master: (226 commits)
ioc/db: testdbGetFieldEqual() detect zero size
Cleanup in asLib
Allow whitespace before comments in AS config files
Supress MS warning C4251
Add a plan to std/filters/test/syncTest.c
Fix dbUnitTest.c
avoid void* +=
Fix and test for macLib losing error status
update notes
libCom/test: ipAddrToAsciiTest skip cleanup unless valgrind is possible
libCom/test: add ipAddrToAsciiTest to testHarness
db/test: dbPutGetTest check dbGet() of long string field
db: dbGet() ensure long string nil and actual string length
db/test: dbPutGetTest check for dbGet() attribute crash
db: fix dbGet() for attributes as long string
db/test: dbPutGetTest add test for lp:1678494
db: fix dbGet() of link fields as DBF_CHAR
dbUnitTest: add testdbGetArrFieldEqual()
db/test: add dbPutGetTest
Update release notes as per Michael's review comment
...
Conflicts:
src/ioc/db/dbLink.c
src/ioc/db/test/Makefile
src/std/dev/devSoSoftCallback.c
src/std/rec/boRecord.c
src/std/rec/dfanoutRecord.c
src/std/rec/longinRecord.c
src/std/rec/longoutRecord.c
The lnkConst.c implementation is not yet complete, no support for arrays of
strings (JMOP).
Link error messages should display their record & field name, which is not yet
possible.
The ability to embed links as parameters to other link types is not complete
yet; this will be required for the calc link type.
This code currently passes all existing tests, but additional tests are needed
for the new functionality.
Both Perl and dbStaticLib support included.
Also added a new std/link directory for link types.
Nothing looks up the registered link support tables yet.
Record types are the only DBD entries for which the parser
will not accept redefinitions. This change lets it accept
a record type declaration any number of times. However once
a record type declaration has been parsed the full record
type definition cannot be loaded, an error will be raised
if the full definition is seen. The parser will still not
accept a full record type definition more than once either,
any later copies of the record type must be declarations.
If a record type named in a device() entry does not exist when
the device is seen, the DBD parser will now print a warning
and create an empty record type with that name to hold the
device entry information.
This will allow support modules to be built into libraries that
include their own registerRecordDeviceDriver code, which was
apparently possible with 3.14 although not officially supported.
To avoid the warning message, the DBD file can declare each
record type before the device statement that uses it.
A record type declaration looks like this:
recordtype(ao) {}
device(ao, ....)
An IOC will accept and ignore a record type declaration, but it
must have loaded the full record type definition first.
Source DBD files can include Pod blocks, as long as the dbdExpand.pl
script doesn't try and include it in expanded DBD output files.
This makes it easier to write the Pod, and perldoc can parse most
of the result for checking (it complains about the =field directives
though, which dbdToHtml.pl handles itself).
Record types cannot be duplicated however.
DBD sub-objects now have a ->what method for their description.
This also adds a method to look up a breaktable by name.