* 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
* launchpad/3.15:
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
Adjusted .gitignore patterns
libCom/test: add network libraries for Windows builds
Moved .bzrignore to .gitignore
libCom/test: add ipAddrToAsciiTest
libCom: revise ipAddrToAscii
* removed struct valueDes
* made get_value take void (no arguments), added deprecation note
* removed misleading array size comment for get_units
Also added const to method parameters exactly where called in base with
const arguments.
This means:
* typed method definitions for struct rset
* using REC_TYPE macro in place of dbCommon
* define REC_TYPE as dbCommon unless defined
* in record supports, define REC_TYPE before including epics headers
* fix a few method types in record supports (e.g. void* -> REC_TYPE*)
* fix the type errors gcc finds in dbAccess.c and dbConvert.c
Command 'dbjlr <record|*> <level>' calls the report method for
all JSON links in all records, or in one named record.
Added level and indent arguments to the jlif::report() method.
Added jlif::map_children() method for recursing through all
JSON links, plus dbJLinkMapChildren() and dbJLinkMapAll() APIs.
Implemented the report and map_children methods in the const
and calc link types.
This required a change to the lset::getValue arguments, removing
the pstat and psevr pointers. Links can still return a non-zero
value from getValue and trigger a LINK:INVALID alarm, but for any
other alarm settings they must manipulate the record themselves.
* Added new lset::openLink() method, called on JSON_LINKs only
* Cleanup in dbJLink.c to prevent memory leaks.
* Removed jlif::start_parse() method.
* Renamed jlif::end_parse() to end_child, which will be called on
the parent link when a child link has succesfully finished parsing.
The long string in/out records use a different initializer
for constant links. The new loadLS method allows a constant
link type to initialize such a long string field.
NB: This routine was added in the middle of the lset table.
Any external link support implementations must be adjusted.
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.