EPICS Controls Argonne National Laboratory

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  <20212022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: [EXTERNAL] Windows paths inside iocShell
From: Ralph Lange via Core-talk <core-talk at aps.anl.gov>
To: EPICS Core Talk <core-talk at aps.anl.gov>
Date: Sun, 18 Apr 2021 15:29:26 +0200
Update:
Since I want things to also work with older Base releases, I added a workaround on Windows, allowing the Windows notation of %varname% to read the value from the environment post iocShell inside my driver code. Straightforward and good enough.

But:
I still think the current macLib policy of keeping escapes at the top level and resolving them at any other use is not right.

Here's an example.
Assume I have a driver with an iocShell configuration function that takes a path as its parameter and I want to use backslashes as a path separator.

When using the configuration function directly, I need to escape the backslashes to get them into the driver. So far, so expected.

epics> driverSetup C:\\foo\\bar

If I want to plainly do the same thing through an environment variable, guess how many backslashes it takes? Eight!

epics> epicsEnvSet MYDIR C:\\\\\\\\foo\\\\\\\\bar
epics> driverSetup $(MYDIR)

IMHO, this is insane.

Cheers,
~Ralph


References:
Windows paths inside iocShell Ralph Lange via Core-talk
Re: [EXTERNAL] Windows paths inside iocShell Kasemir, Kay via Core-talk
Re: [EXTERNAL] Windows paths inside iocShell Ralph Lange via Core-talk
Re: [EXTERNAL] Windows paths inside iocShell Johnson, Andrew N. via Core-talk
Re: [EXTERNAL] Windows paths inside iocShell Ralph Lange via Core-talk
Re: [EXTERNAL] Windows paths inside iocShell Johnson, Andrew N. via Core-talk

Navigate by Date:
Prev: Jenkins build is back to normal : epics-example-linux32 #866 APS Jenkins via Core-talk
Next: RE: file format enforcing? Freddie Akeroyd - STFC UKRI via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
Navigate by Thread:
Prev: Re: [EXTERNAL] Windows paths inside iocShell Johnson, Andrew N. via Core-talk
Next: failing tests on github.com Zimoch Dirk (PSI) via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
ANJ, 18 Apr 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·