Commit Graph

16599 Commits

Author SHA1 Message Date
Andrew Johnson 6e2705c23f Merged commit 12741 from Michael's pcas-fake-dynamic branch 2016-10-10 15:12:26 -05:00
Andrew Johnson b59a60e266 Merged the bigdb-3.15 branch with PHAS fix 2016-10-07 17:35:07 -05:00
Ralph Lange a32faa573c ioc/misc: add dbRecordsAbcSorted to dbCore.dbd 2016-10-07 11:56:06 +02:00
Ralph Lange 3fa8f2ac22 libCom/ellLib: make sort comparator args const pointers 2016-10-07 10:52:13 +02:00
Ralph Lange de6a442048 dbStatic: fix compiler warnings (unused variables) 2016-10-07 10:29:28 +02:00
Andrew Johnson 928ebe82bd Build rules: Enable tests only when we can run them 2016-10-06 13:13:59 -05:00
Ralph Lange 768c6234bd Mention dbRenameRecord() removal in release notes 2016-10-06 15:44:02 +02:00
Ralph Lange 336bd656c8 dbStatic: only sort records alphabetically if explicitly configured (default: no sorting) 2016-10-06 15:36:44 +02:00
Ralph Lange 344928bdc6 dbStatic: remove dbRenameRecord() 2016-10-06 13:31:40 +02:00
Ralph Lange 843fb8ca95 dbStatic: update dbCreateAlias() to add to record list (instead of insertion sort) 2016-10-06 13:02:46 +02:00
Andrew Johnson 2fd298b440 Fixed issues with previous epicsTime.cpp changes 2016-10-05 15:11:57 -05:00
Ralph Lange 4da0e2c27e Add release note info for the epicsTime change 2016-10-05 09:41:49 +02:00
Andrew Johnson 8531da6496 Merged Ralph's add-epicstime-from-gmtm branch 2016-10-04 18:04:26 -05:00
Ralph Lange 67323441ec libCom/test: add roundtrip test for epicsTime from/to UTC struct tm conversion 2016-10-04 16:17:45 +02:00
Ralph Lange 3702401171 libCom/osi: add full epicsTime conversion from/to UTC struct tm (without timezone mechanism) 2016-10-04 16:16:42 +02:00
Andrew Johnson 8d6875fe15 Merged changes from the 3.14 branch to revno 12664 2016-10-03 15:21:48 -05:00
wang_x1 5ad61d25f6 Fix race condition in gdd 2016-09-29 11:23:14 -05:00
Andrew Johnson 6623cb0112 Back-ported 64-bit MinGW cross-build stuff from 3.15 2016-09-28 17:10:38 -05:00
Jeff Hill c2b17feaf1 libCom: Missing unlock in epicsThreadShow for RTEMS
fixes lp:1628323
2016-09-27 21:36:28 -04:00
Andrew Johnson 8fb2267218 Revert breaktable point() syntax, not in dbStatic 2016-09-27 16:57:53 -05:00
Ralph Lange 9de65e05d4 libCom/osi: fix timespec definition for MinGW
(cherry-picked from 3.15)
2016-09-27 15:59:53 +02:00
Michael Davidsaver 99500b9be4 dbStatic: more informative error for bad field value 2016-09-18 17:35:19 -04:00
Michael Davidsaver 0821c8c4ff dbStatic: dbPutStringNum(, "") not an error
Restore previous behavour that empty string
is equivalent to numeric zero.

epicsParse*() returns S_stdlib_noConversion
where previously strtoul() did not.

Conflicts:
	src/ioc/db/test/Makefile
2016-09-12 18:20:02 -04:00
Andrew Johnson da5455ed22 Fixes for Windows builds 2016-09-09 11:14:59 -05:00
Andrew Johnson 58c78af4f9 Initialize all fields of jlink, link types may not use calloc 2016-09-07 23:35:39 -05:00
Andrew Johnson 813166128e Merged changes from 3.15 branch, to revno 12781 2016-09-07 10:04:54 -05:00
Andrew Johnson b2012fdfb5 Added test link type, fix dbPutLinkTest for JSON_LINKs 2016-09-07 00:50:40 -05:00
Andrew Johnson c12a35e388 Clean up memory leaks 2016-09-07 00:47:51 -05:00
Andrew Johnson 8a9707e74f Fixed a small memory leak in lnkCalc 2016-09-06 22:28:36 -05:00
Andrew Johnson 2d4301f0bb Fix warnings from clang 2016-09-05 22:36:45 -05:00
Andrew Johnson 268e59b052 Minor updates 2016-09-05 15:38:16 -05:00
Andrew Johnson 5b74799605 Some documentation updates 2016-09-05 15:12:09 -05:00
Andrew Johnson cd49e245c2 Added JLink reporting infrastructure
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.
2016-09-05 14:25:33 -05:00
Andrew Johnson 19447dc7ff Make the long-string buffer for link fields bigger
When representing a link field as a long string (.INP$)
we have to pick some size limit for the buffer.
Previously this was the max length of a PV name + 12 chars,
but with JSON links that's not big enough.

This commit sets it to 1KB and defines a macro so it will be
easier to change in the future if necessary.
2016-09-04 16:56:15 -05:00
Andrew Johnson dd311be319 JLink: Convert parser->linkDepth into jlink->parseDepth
This counter is indicates when we've finished parsing a link,
and needs to be stored with link rather than the parser so it
keeps its value while parsing embedded links. This fixes the
embedded links bug.

Also removed the limit on a link name's length.
2016-09-04 16:33:10 -05:00
Andrew Johnson 4448317d73 Add lnkConst_remove, fix debug messages 2016-09-04 16:02:59 -05:00
Andrew Johnson ec6d86c91c Fix jlink memory leak in dbStaticLib
Added dbFreeLinkInfo(), use everywhere to release dbLinkInfo resources.

Renamed link_type => expected_type in db[Can]SetLink(),
my brain understands this name faster.
2016-09-04 15:56:39 -05:00
Andrew Johnson 4302da3628 Minor fixes to the calc link-type 2016-09-03 22:24:55 -05:00
Andrew Johnson 25315882ec Clean up JSON_LINKs in doCloseLinks 2016-09-03 22:22:12 -05:00
Andrew Johnson f8d6cd98a0 Minor cleanups 2016-09-03 19:44:49 -05:00
Andrew Johnson 5fe3e8bfb5 Added calc link-type 2016-09-03 19:22:55 -05:00
Andrew Johnson 8d1c416551 Moved PV_LINK-specific code out of dbLink.c into 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.
2016-09-03 19:21:11 -05:00
Andrew Johnson 07b09eed1f Fixes to dbJLink, added dbJLinkFree()
Moved the clearing of key_is_link to the right place,
embedded links now parse correctly.
2016-09-03 13:36:17 -05:00
Andrew Johnson 1e1c52cb69 Use new epicsStrnDup() API 2016-09-03 13:27:30 -05:00
Andrew Johnson 6e88d48615 Added epicsStrnDup() and dbmfStrndup() routines
The JSON parser passes string arguments with a length
instead or nil-terminating them. These routines make it
simple to copy such strings into either permanent or
temporary storage.
2016-09-03 13:25:19 -05:00
Andrew Johnson 147166849b Empty merge of backported big-fix from 3.14 branch, to revno 12660 2016-09-02 15:17:07 -05:00
Andrew Johnson 661058e43e ca: Fix client bug (race condition) in ipAddrToAsciiEngine 2016-09-02 15:12:50 -05:00
Andrew Johnson 4686a062c8 Merged generalTime update from 3.14 branch, revno 12659 2016-09-02 12:47:23 -05:00
Andrew Johnson 25b3eae1c7 Merged changes from the 3.14 branch to revno 12658 2016-09-02 11:54:23 -05:00
Andrew Johnson 23c71e9965 Various improvements
* 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.
2016-09-01 23:21:23 -05:00