Experimental Physics and Industrial Control System
https: //urldefense. us/v3/__https: //github. com/epics-base/epics-base/pull/463__;!!G_uCfscf7eWS!Zn6wAiXcGXOFffznkTQ8saPYuWsW6uQDQWE3zlHrxqzOLC87YVlUiwDvAz2xB1BzTy0fNk_2ePVlzvybRiho6vFLJwpC$ -- You received this bug notification because you are
ZjQcmQRYFpfptBannerStart
This Message Is From an External Sender
This message came from outside your organization.
ZjQcmQRYFpfptBannerEnd
https://urldefense.us/v3/__https://github.com/epics-base/epics-base/pull/463__;!!G_uCfscf7eWS!Zn6wAiXcGXOFffznkTQ8saPYuWsW6uQDQWE3zlHrxqzOLC87YVlUiwDvAz2xB1BzTy0fNk_2ePVlzvybRiho6vFLJwpC$
--
You received this bug notification because you are a member of EPICS
Core Developers, which is subscribed to EPICS Base.
Matching subscriptions: epics-core-list-subscription
https://urldefense.us/v3/__https://bugs.launchpad.net/bugs/2052814__;!!G_uCfscf7eWS!Zn6wAiXcGXOFffznkTQ8saPYuWsW6uQDQWE3zlHrxqzOLC87YVlUiwDvAz2xB1BzTy0fNk_2ePVlzvybRiho6hvnEaYf$
Title:
dbLoadRecords with subs=NULL fails to expand macros with defaults
Status in EPICS Base:
Confirmed
Bug description:
A template file that only contains macros with default values can be
loaded with `dbLoadRecords("file.db","")` but not with
`dbLoadRecords("file.db",NULL)`. In particular, in the startup script,
it cannot be loaded with `dbLoadRecords "file.db"` but only with
`dbLoadRecords "file.db",""`. (VxWorks shell as well as iocsh.)
Using such a macro in a record name results in the error message:
ERROR: Bad character '$' in Record/Alias name "$(P=)Name"
Using macros with defaults in fields shows error messages like this:
ERRORName.PREC Has unexpanded macro
Can't set "Name.PREC" to "$(PREC=3)" : Bad Field value
ERRORERROR failed to load 'file.db'
(Unrelated: Someone please fix the missing blanks after ERROR and the
ERRORERROR.)
The reason is that `dbReadCOM`, the function that does the real work,
only creates a `macHandle` when `substitutions` is not `NULL`. Not
having a `macHandle` prevents any macro substitution from working,
even those which provide a default value.
In the old times, when macros could not have defaults, this was fine,
but not any more. A macro handle should always be created, even if it
stays empty when `substitutions` is `NULL`.
To manage notifications about this bug go to:
https://urldefense.us/v3/__https://bugs.launchpad.net/epics-base/*bug/2052814/*subscriptions__;Kys!!G_uCfscf7eWS!Zn6wAiXcGXOFffznkTQ8saPYuWsW6uQDQWE3zlHrxqzOLC87YVlUiwDvAz2xB1BzTy0fNk_2ePVlzvybRiho6tnykGku$
- References:
- [Bug 2052814] [NEW] dbLoadRecords with subs=NULL fails to expand macros with defaults Dirk Zimoch via Core-talk
- Navigate by Date:
- Prev:
Build failed: EPICS Base 7 base-7.0-1097 AppVeyor via Core-talk
- Next:
Build completed: EPICS Base 7 base-7.0-1098 AppVeyor via Core-talk
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
<2024>
- Navigate by Thread:
- Prev:
[Bug 2052814] Re: dbLoadRecords with subs=NULL fails to expand macros with defaults Dirk Zimoch via Core-talk
- Next:
Build failed: epics-base base-win32_static_set_thread_names-55 AppVeyor via Core-talk
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
<2024>