From f212fae267596134cf3ff066245b95aac1487e9b Mon Sep 17 00:00:00 2001 From: Marty Kraimer Date: Wed, 7 Jul 2004 16:03:51 +0000 Subject: [PATCH] split epicsStdio into common and osdStdio portions --- src/libCom/Makefile | 1 + src/libCom/osi/epicsStdio.c | 22 +++++++++++++++++++ src/libCom/osi/epicsStdio.h | 3 ++- .../osi/os/WIN32/{epicsStdio.c => osdStdio.c} | 10 +-------- .../osi/os/hpux/{epicsStdio.c => osdStdio.c} | 11 ++-------- .../os/posix/{epicsStdio.cpp => osdStdio.c} | 9 ++------ .../os/vxWorks/{epicsStdio.c => osdStdio.c} | 3 ++- 7 files changed, 32 insertions(+), 27 deletions(-) create mode 100644 src/libCom/osi/epicsStdio.c rename src/libCom/osi/os/WIN32/{epicsStdio.c => osdStdio.c} (93%) rename src/libCom/osi/os/hpux/{epicsStdio.c => osdStdio.c} (93%) rename src/libCom/osi/os/posix/{epicsStdio.cpp => osdStdio.c} (96%) rename src/libCom/osi/os/vxWorks/{epicsStdio.c => osdStdio.c} (96%) diff --git a/src/libCom/Makefile b/src/libCom/Makefile index c00eb0ef6..830debf44 100644 --- a/src/libCom/Makefile +++ b/src/libCom/Makefile @@ -190,6 +190,7 @@ SRCS += osdEnv.c SRCS += epicsReadline.c SRCS += epicsTempFile.cpp SRCS += epicsStdio.c +SRCS += osdStdio.c osdEnv_CFLAGS_WIN32= -U__STDC__ diff --git a/src/libCom/osi/epicsStdio.c b/src/libCom/osi/epicsStdio.c new file mode 100644 index 000000000..ff1b6be4e --- /dev/null +++ b/src/libCom/osi/epicsStdio.c @@ -0,0 +1,22 @@ +/*************************************************************************\ +* 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. +\*************************************************************************/ +/*epicsStdio.c*/ +/*Author: Marty Kraimer*/ + +#include +#include +#include +#include +#include +#include +#define epicsExportSharedSymbols +#include "epicsStdio.h" + +/* Currently this file has nothing*/ diff --git a/src/libCom/osi/epicsStdio.h b/src/libCom/osi/epicsStdio.h index a9c0eb2ce..3e4d72fdd 100644 --- a/src/libCom/osi/epicsStdio.h +++ b/src/libCom/osi/epicsStdio.h @@ -26,9 +26,10 @@ epicsShareFunc int epicsShareAPI epicsSnprintf( epicsShareFunc int epicsShareAPI epicsVsnprintf( char *str, size_t size, const char *format, va_list ap); epicsShareFunc void epicsShareAPI epicsTempName ( - char * pNameBuf, size_t nameBufLength ); + char * pNameBuf, size_t nameBufLength ); epicsShareFunc FILE * epicsShareAPI epicsTempFile (); + /* * truncate to specified size (we dont use truncate() * because it is not portable) diff --git a/src/libCom/osi/os/WIN32/epicsStdio.c b/src/libCom/osi/os/WIN32/osdStdio.c similarity index 93% rename from src/libCom/osi/os/WIN32/epicsStdio.c rename to src/libCom/osi/os/WIN32/osdStdio.c index b4c9d17df..4f2043cac 100644 --- a/src/libCom/osi/os/WIN32/epicsStdio.c +++ b/src/libCom/osi/os/WIN32/osdStdio.c @@ -1,4 +1,4 @@ -/* epicsStdio.c */ +/* osdStdio.c */ /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. @@ -15,10 +15,6 @@ #define epicsExportSharedSymbols #include "epicsStdio.h" -#ifdef __cplusplus -extern "C" { -#endif - int epicsShareAPI epicsVsnprintf ( char * str, size_t size, const char *format, va_list ap ) { @@ -49,7 +45,3 @@ int epicsShareAPI epicsSnprintf ( va_end ( pvar ); return ( rtn ); } - -#ifdef __cplusplus -} -#endif diff --git a/src/libCom/osi/os/hpux/epicsStdio.c b/src/libCom/osi/os/hpux/osdStdio.c similarity index 93% rename from src/libCom/osi/os/hpux/epicsStdio.c rename to src/libCom/osi/os/hpux/osdStdio.c index db8f08685..0cabab991 100644 --- a/src/libCom/osi/os/hpux/epicsStdio.c +++ b/src/libCom/osi/os/hpux/osdStdio.c @@ -1,4 +1,4 @@ -/* epicsStdio.c */ +/* osdStdio.c */ /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. @@ -12,10 +12,7 @@ #include #include -#ifdef __cplusplus -extern "C" { -#endif - +#define epicsExportSharedSymbols #include "epicsStdio.h" int epicsVsnprintf ( @@ -48,7 +45,3 @@ int epicsSnprintf ( va_end ( pvar ); return ( rtn ); } - -#ifdef __cplusplus -} -#endif diff --git a/src/libCom/osi/os/posix/epicsStdio.cpp b/src/libCom/osi/os/posix/osdStdio.c similarity index 96% rename from src/libCom/osi/os/posix/epicsStdio.cpp rename to src/libCom/osi/os/posix/osdStdio.c index 47c210e89..2a23cee71 100644 --- a/src/libCom/osi/os/posix/epicsStdio.cpp +++ b/src/libCom/osi/os/posix/osdStdio.c @@ -8,11 +8,10 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -#include #include +#define epicsExportSharedSymbols +#include -extern "C" { - epicsShareFunc int epicsShareAPI epicsSnprintf( char *str, size_t size, const char *format, ...) { @@ -30,7 +29,3 @@ epicsShareFunc int epicsShareAPI epicsVsnprintf( { return vsnprintf ( str, size, format, ap ); } - -} - - diff --git a/src/libCom/osi/os/vxWorks/epicsStdio.c b/src/libCom/osi/os/vxWorks/osdStdio.c similarity index 96% rename from src/libCom/osi/os/vxWorks/epicsStdio.c rename to src/libCom/osi/os/vxWorks/osdStdio.c index d2e99bf0b..a8d13ce3d 100644 --- a/src/libCom/osi/os/vxWorks/epicsStdio.c +++ b/src/libCom/osi/os/vxWorks/osdStdio.c @@ -1,4 +1,4 @@ -/* epicsStdio.c */ +/* osdStdio.c */ /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. @@ -23,6 +23,7 @@ static STATUS outRoutine(char *buffer, int nchars, int outarg) { struct outStr_s *poutStr = (struct outStr_s *) outarg; int len = min(poutStr->free, nchars); + if(len<=0) return ERROR; strncat(poutStr->str, buffer, len); poutStr->free -= nchars;