EPICS Home

Experimental Physics and Industrial Control System


 
2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  <2024 Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  <2024
<== Date ==> <== Thread ==>

Subject: [Bug 2052814] Re: dbLoadRecords with subs=NULL fails to expand macros with defaults
From: Dirk Zimoch via Core-talk <core-talk at aps.anl.gov>
To: core-talk at aps.anl.gov
Date: Mon, 19 Feb 2024 09:37:21 -0000
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