Adds new routines for converting numeric strings into the
standard epicsInt8, epicsUInt8, epicsInt16, epicsUInt16,
epicsInt32 and epicsUInt32 types, along with Long, ULong,
Double and Float. These all provide error checking and
detection of extraneous characters. The epicsScanDouble
and epicsScanFloat routines originally in epicsStdlib.h
are replaced by macros that call the epicsParse routine,
and this also provides epicsScanLong and epicsScanULong
to match.
A test file is added to ensure conversions work properly
and report appropriate errors. This file also checks the
native strtod() routine if not used to check whether the
epicsStrtod() code is required on this platform.
Michael backed out a few changes and added some others.
I added some modifications to default/osdMessageQueue.cpp to
remove arguments from a couple of internal (static) functions.
Mostly just layout changes, removing unnecessary casts, and
replacing 'unsigned short' with epicsEnum16 types.
The only significant code change is in the alarm filtering
code of the mbbi record, which wasn't handling UDF alarms
or unknown state alarms quite right.
Pattern mode changes the behaviour of substituteGetReplacements()
which breaks the parsing of global definitions. Add a separate
routine substituteGetGlobalReplacements() which is used for parsing
global definitions and ignores the isPattern flag.
This removes various calls to cantProceed() and its relatives
and replaces them with an error return status when a resource
allocation fails. It only does it for routines that already
have an error status return, so it makes no API changes, and
will prevent threads from being suspended unnecessarily.
This separates out the rules for %.d files from the rules that
create the related target file (%.o etc). Doing this can reduce
the amount of work to be done when rebuilding applications after
making source changes. For files in O.Common which can be built
by any target architecture this can solve problems when parallel
builds (-j) are used.
Removed %.C and %.H from vpath (rules were deleted some time ago)
Added %.pl to vpath for use in ioc/registry/Makefile
configure/tools doesn't exist any more, remove from configure/Makefile