Michael Davidsaver
e881cb15c4
registerAllRecordDeviceDrivers() handle function
2021-02-26 07:42:17 -08:00
Michael Davidsaver
552b2d1766
dbConstAddLink bounds check dbrType
...
cf. 6c914d19c3
2021-02-19 15:53:32 -08:00
Michael Davidsaver
2c1c35268e
db: Suggest DBF_MENU values on parser error
2021-02-08 09:22:27 -08:00
Michael Davidsaver
27918cb7a1
improve error message from dbPutString() for DBF_MENU/DEVICE
2021-02-08 09:22:27 -08:00
Michael Davidsaver
8723d4d9cb
include database S_* in error string table
2021-02-08 09:22:27 -08:00
Andrew Johnson
99852c6504
Merge JSON5 support into 7.0
2021-01-05 21:39:15 -06:00
Andrew Johnson
f775e0b8f6
Merge 3.15 branch into 7.0
...
Adjust updated test result displays for submodules
2020-12-23 16:18:21 -06:00
Michael Davidsaver
db2f7d8b92
use auto_ptr or unique_ptr
2020-11-18 10:54:44 -08:00
6b5abf76c8
do not handle empty arrays (undefined behavior)
2020-10-30 17:07:09 -05:00
3b3261c877
Revert "new error code for empty arrays"
...
This reverts commit d51b5513fda5ca7c6058990396d315cfff81cbfe.
Conflicts:
modules/database/src/ioc/db/dbAccess.c
modules/database/src/ioc/db/dbDbLink.c
2020-10-30 17:07:09 -05:00
4ad98d5b4f
make db_init_event_freelists private
2020-10-30 17:07:09 -05:00
14b9ac3277
remove unnecessary check
2020-10-30 17:07:09 -05:00
275c4c7cf4
remove needless pointer access
2020-10-30 17:07:09 -05:00
5d808b7c02
new error code for empty arrays
2020-10-30 17:07:09 -05:00
afdf34b791
clean up code structure
2020-10-30 17:07:09 -05:00
8f5be5f0ad
removed unnecessary recGblSetSevr call
2020-10-30 17:07:09 -05:00
0ee36388cb
unused variable removed
2020-10-30 17:07:09 -05:00
c51c83b1d5
Revert "fix crash in PINI: use local db_field_log"
...
This reverts commit a590151accb1d187562c515a48e013244dd98a45.
Conflicts:
modules/database/src/ioc/db/dbDbLink.c
2020-10-30 17:07:09 -05:00
d0ef45acc3
initialize free lists when starting dbChannel
2020-10-30 17:07:09 -05:00
39c8d5619a
bugfix: dbGet should not crash because of empty array requests
2020-10-30 17:07:09 -05:00
e0dfb6cff8
fix crash in PINI: use local db_field_log
2020-10-30 17:07:09 -05:00
3627c38a57
don't crash when filter results in 0 elements
2020-10-30 17:07:09 -05:00
17a8dbc2d7
apply filters in dbDbGetValue
2020-10-30 17:07:09 -05:00
b1f445925d
use dbChannel in link instead of DBADDR
2020-10-30 17:07:09 -05:00
Andrew Johnson
297f04bddc
Make dbgf display something for an empty array
...
Also significantly expands on Dirk's Release Notes entries.
2020-10-30 13:37:50 -05:00
Andrew Johnson
a7bf59079f
Merge Dirk Zimoch's fix_zero_size_arrays branch
2020-10-29 17:07:35 -05:00
Andrew Johnson
14476391c0
Warn about NULL dbevEventUserFreeList
2020-10-28 23:25:02 -05:00
Andrew Johnson
223b292c33
Merge fix-wrong-order-phas fixes from 3.15 branch
2020-10-22 10:31:52 -05:00
Andrew Johnson
68121ec907
Merged Dirk's fix_one_element_input_link_arrays branch
2020-10-22 10:14:10 -05:00
Michael Davidsaver
051ba20fe1
fix registerAllRecordDeviceDrivers() prints
2020-08-22 07:50:40 -07:00
Michael Davidsaver
d6cf29e942
add HAS_registerAllRecordDeviceDrivers
2020-08-22 07:50:40 -07:00
Michael Davidsaver
e40970bd5e
rename dynamic_registerRecordDeviceDriver -> registerAllRecordDeviceDrivers
2020-08-22 07:50:40 -07:00
Michael Davidsaver
8d98387245
add dynamic_registerRecordDeviceDriver()
...
Use epicsFindSymbol() to build a dynamic and idempotent equivalent
to the code generated by registerRecordDeviceDriver.pl
Also add runRegistrarOnce() to prevent registrars
from running multiple times, except from unittest code.
2020-08-22 07:50:40 -07:00
Andrew Johnson
75b89b40bf
Support single-quoted strings in dbStatic JSON5 values
...
Teach lexer to recognize them.
Strip leading & trailing quotes from string values.
Add some tests.
2020-08-09 00:33:07 -05:00
Andrew Johnson
b34d3c83fc
Add support for hex escapes to the dbStatic lexer
...
Only translate escaped chars that are inside a jsonSTRING value.
2020-08-09 00:33:07 -05:00
Andrew Johnson
0c800d4428
JSON5 in dbStatic: Update bare-word JSON keys
...
Our bare-word character set is wider than JSON5's. Quote any
keys containing the extra characters so YAJL can parse them,
but don't quote keys unnecessarily.
Tests for this behavior are in dbStaticTest.db
Adjust the other tests that read links parsed by the dbStatic
parser that used bareword keys, which are no longer quoted.
2020-08-09 00:33:07 -05:00
Andrew Johnson
0fca5fc8a9
JSON5 in dbStatic: Lexer support for NaN and Infinity
...
The JSON5 spec requires exact capitalization of these strings.
Other numeric parsers such as strtod() are usually more lenient.
2020-08-09 00:33:07 -05:00
Andrew Johnson
fe177e40fd
JSON5 in dbStatic: Add lexer support for hex integers
...
dbLex.l accepts hex notation in JSON numbers.
Tested in dbStaticTest.db as before.
2020-08-09 00:33:07 -05:00
Andrew Johnson
fa4af8b27d
JSON5 in dbStatic: Modify lexer's number support
...
dbLex.l acceps a leading or trailing decimal point with float/double
values and an explicit leading + on all numbers.
Tested in dbStaticTest.db but only passing tests.
2020-08-09 00:33:07 -05:00
Andrew Johnson
3c99391d93
Added SPDX License ID to all EPICS-original source files
...
In some cases the license-identification header was missing,
so I added that as well. Replaced the remaining headers that
specifically identified "Versions 3.13.7 and higher".
Makefiles and the build system were deliberately excluded.
2020-08-03 11:53:01 -05:00
d1491e0860
Use JSON arrays in dbpf
2020-07-17 15:03:53 +02:00
7709239636
make sure put_array_info exists before using it
2020-07-17 09:26:55 +02:00
a9731b90f6
Don't freeze the shell when we are out of memory
2020-07-17 09:12:54 +02:00
Ralph Lange
7d2e352f6a
Merge changes from 3.15 branch into 7.0
...
- merged 3.15 branch up to bf7a1605
# Conflicts:
# modules/database/src/ioc/db/dbChannel.c
2020-07-15 11:46:45 +02:00
12cfd418d6
fix dbPut to set target to INVALID/LINK alarm when writing empty arrays into scalars
2020-07-06 15:22:54 +02:00
Michael Davidsaver
dcee015f71
validate alias names as well
2020-06-29 14:44:04 -07:00
0a1fb25e6b
fix dbCaGetLink to fail when reading scalars from empty arrays
2020-06-29 22:23:21 +02:00
Michael Davidsaver
fddd65ccb1
yet more record name validation
2020-06-29 11:33:21 -07:00
0353ede517
don't use epicsOldString
2020-06-27 16:05:54 +02:00
Michael Davidsaver
7f9fefc2a4
Further record name validation
2020-06-26 13:22:11 -07:00