From 86152e91b95a5826c92f3e31f0f0b48b2da4bbf8 Mon Sep 17 00:00:00 2001 From: "W. Eric Norum" Date: Tue, 12 Oct 2004 13:51:52 +0000 Subject: [PATCH] Clean up some headers. Add epicsScanReal.c. --- src/libCom/Makefile | 1 + src/libCom/misc/epicsScanReal.c | 41 +++++++++++++++++++++++++++++++++ src/libCom/misc/epicsStdlib.h | 3 +++ src/libCom/misc/epicsStrtod.c | 7 +++--- 4 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 src/libCom/misc/epicsScanReal.c diff --git a/src/libCom/Makefile b/src/libCom/Makefile index faf491ef4..6e15b3b07 100644 --- a/src/libCom/Makefile +++ b/src/libCom/Makefile @@ -134,6 +134,7 @@ SRCS += adjustment.c SRCS += cantProceed.c SRCS += epicsConvert.c SRCS += epicsExit.c +SRCS += epicsScanReal.c SRCS += epicsString.c SRCS += epicsStrtod.c SRCS += truncateFile.c diff --git a/src/libCom/misc/epicsScanReal.c b/src/libCom/misc/epicsScanReal.c new file mode 100644 index 000000000..ff34fce30 --- /dev/null +++ b/src/libCom/misc/epicsScanReal.c @@ -0,0 +1,41 @@ +/*************************************************************************\ +* Copyright (c) 2002 The University of Chicago, as Operator of Argonne +* National Laboratory. +* Copyright (c) 2002 The Regents of the University of California, as +* Operator of Los Alamos National Laboratory. +* EPICS BASE Versions 3.13.7 +* and higher are distributed subject to a Software License Agreement found +* in file LICENSE that is included with this distribution. +\*************************************************************************/ +/*epicsScanReal.c*/ +/*Author: Eric Norum */ + +#include + +#define epicsExportSharedSymbols +#include "epicsStdio.h" + + +epicsShareFunc int epicsShareAPI epicsStrScanDouble(const char *str, double *dest) +{ + char *endp; + double dtmp; + + dtmp = epicsStrtod(str, &endp); + if (endp == str) + return 0; + *dest = dtmp; + return 1; +} + +epicsShareFunc int epicsShareAPI epicsStrScanFloat(const char *str, float *dest) +{ + char *endp; + double dtmp; + + dtmp = epicsStrtod(str, &endp); + if (endp == str) + return 0; + *dest = dtmp; + return 1; +} diff --git a/src/libCom/misc/epicsStdlib.h b/src/libCom/misc/epicsStdlib.h index 10b93bdde..f7cd7a246 100644 --- a/src/libCom/misc/epicsStdlib.h +++ b/src/libCom/misc/epicsStdlib.h @@ -16,6 +16,9 @@ extern "C" { #endif +epicsShareFunc int epicsShareAPI epicsStrScanDouble(const char *str, double *dest); +epicsShareFunc int epicsShareAPI epicsStrScanFloat(const char *str, float *dest); + #include #include diff --git a/src/libCom/misc/epicsStrtod.c b/src/libCom/misc/epicsStrtod.c index 9bc164639..deb362b65 100644 --- a/src/libCom/misc/epicsStrtod.c +++ b/src/libCom/misc/epicsStrtod.c @@ -10,14 +10,13 @@ /*epicsStrtod.c*/ /*Author: Eric Norum */ -#include -#include -#include #include #include +#include +#include "epicsString.h" #define epicsExportSharedSymbols -#include "epicsString.h" +#include "epicsStdlib.h" epicsShareFunc double epicsShareAPI epicsStrtod(