1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 <2012> 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 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: | Re: How to corretly read the INP field? |
From: | Dirk Zimoch <[email protected]> |
To: | Emmanuel Mayssat <[email protected]> |
Cc: | epics <[email protected]> |
Date: | Thu, 08 Mar 2012 10:22:54 +0100 |
Hi Emmanuel, This looks strange. Are you sure that your link has the correct type, e.g. INST_IO, not CONSTANT, PV_LINK or CA_LINK or something like this? Do you check psi->inp.type before you parse the value? Do 'dbpr "recordname",1' and check the type of the INP link. Check your .dbd file, too. Dirk Emmanuel Mayssat wrote:
Hello,For a few of my soft records, I used to read the INP field directly with a command like[driver code] myStatus=sscanf(psi->inp.value.instio.string, "@lm=%d df=%[^\n]", &myLogMark, p_myDateFormat); [/driver code] It turns out this method doesn't work correctly anymore.Indeed the psi->inp.value.instio.string is truncated at the first 'space' char.In my case, that means, it cannot scanf the 'df= ...'I also noticed that I now have to include the '@' char, when before I didn't have to.That change appeared between 3.14.8 and 3.14.11 What is the correct way to read the INP field now? -- Emmanuel