From 5b228618e14300e2610e588efef5b94384e5578f Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 3 May 2012 12:19:34 -0500 Subject: [PATCH] Merged epicsStdioRedirect.h into epicsStdio.h --- documentation/RELEASE_NOTES.html | 9 ++++++ src/ioc/as/asCa.c | 2 +- src/ioc/as/asDbLib.c | 2 +- src/ioc/db/dbCaTest.c | 2 +- src/ioc/db/dbLock.c | 2 +- src/ioc/db/dbScan.c | 2 +- src/ioc/db/dbTest.c | 1 - src/ioc/db/db_test.c | 2 +- src/ioc/dbStatic/dbStaticLib.c | 2 +- src/ioc/misc/epicsRelease.c | 2 +- src/ioc/rsrv/caservertask.c | 2 +- src/libCom/as/asLibRoutines.c | 2 +- src/libCom/as/asTrapWrite.c | 2 +- src/libCom/env/envSubr.c | 2 +- src/libCom/flex/flex.c | 2 +- src/libCom/osi/Makefile | 1 + src/libCom/osi/epicsEvent.cpp | 2 +- src/libCom/osi/epicsMessageQueue.cpp | 2 +- src/libCom/osi/epicsMutex.cpp | 2 +- src/libCom/osi/epicsStdio.c | 1 + src/libCom/osi/epicsStdio.h | 30 ++++++++++++++++-- src/libCom/osi/epicsStdioRedirect.h | 38 ++++------------------- src/libCom/osi/epicsTempFile.h | 30 ++++++++++++++++++ src/libCom/osi/epicsTime.cpp | 1 - src/libCom/osi/os/Darwin/osdEnv.c | 2 +- src/libCom/osi/os/RTEMS/osdMutex.c | 2 +- src/libCom/osi/os/WIN32/epicsTempFile.cpp | 2 +- src/libCom/osi/os/WIN32/osdMutex.c | 2 +- src/libCom/osi/os/default/osdEnv.c | 2 +- src/libCom/osi/os/iOS/osdEnv.c | 2 +- src/libCom/osi/os/posix/epicsTempFile.cpp | 2 +- src/libCom/osi/os/vxWorks/osdEnv.c | 2 +- src/libCom/test/epicsStdioTest.c | 1 - src/libCom/yacc/antelope.c | 2 +- 34 files changed, 99 insertions(+), 63 deletions(-) create mode 100644 src/libCom/osi/epicsTempFile.h diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index 2e56b647c..9f0c79849 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -15,6 +15,15 @@ EPICS Base 3.15.0.x releases are not intended for use in production systems.

Changes between 3.14.x and 3.15.0.x

+

epicsStdioRedirect.h merged into epicsStdio.h

+ +

The definitions from the header file epicsStdioRedirect.h have been moved +into epicsStdio.h so all calls to printf(), puts() and putchar() in files that +include that OSI header will now be subject to stdout redirection. In past +releases (3.14.7 and later) it was necessary to request the redirection support +by including the epicsStdioRedirect.h header file. The header file is still +provided, but now it just includes epicsStdio.h.

+

Named Soft Events

Soft events can now be given meaningful names instead of just using the diff --git a/src/ioc/as/asCa.c b/src/ioc/as/asCa.c index 387a1ad79..fd6ba8c7e 100644 --- a/src/ioc/as/asCa.c +++ b/src/ioc/as/asCa.c @@ -29,7 +29,7 @@ #include "caerr.h" #include "caeventmask.h" #include "alarm.h" -#include "epicsStdioRedirect.h" +#include "epicsStdio.h" #include "asLib.h" #include "epicsExport.h" diff --git a/src/ioc/as/asDbLib.c b/src/ioc/as/asDbLib.c index bf4a85dcc..e087c2228 100644 --- a/src/ioc/as/asDbLib.c +++ b/src/ioc/as/asDbLib.c @@ -18,7 +18,7 @@ #include "errlog.h" #include "cantProceed.h" #include "epicsThread.h" -#include "epicsStdioRedirect.h" +#include "epicsStdio.h" #include "dbDefs.h" #include "taskwd.h" #include "asLib.h" diff --git a/src/ioc/db/dbCaTest.c b/src/ioc/db/dbCaTest.c index f0ce5c88a..4d7c9cbce 100644 --- a/src/ioc/db/dbCaTest.c +++ b/src/ioc/db/dbCaTest.c @@ -24,7 +24,7 @@ #include "dbStaticLib.h" #include "link.h" #undef epicsExportSharedSymbols -#include "epicsStdioRedirect.h" +#include "epicsStdio.h" /*definitions needed because of old vs new database access*/ #undef DBR_SHORT #undef DBR_PUT_ACKT diff --git a/src/ioc/db/dbLock.c b/src/ioc/db/dbLock.c index 1c69026b7..538be59a8 100644 --- a/src/ioc/db/dbLock.c +++ b/src/ioc/db/dbLock.c @@ -47,7 +47,7 @@ since this will delay all other threads. #include #include -#include "epicsStdioRedirect.h" +#include "epicsStdio.h" #include "dbDefs.h" #include "epicsPrint.h" #include "errMdef.h" diff --git a/src/ioc/db/dbScan.c b/src/ioc/db/dbScan.c index 8aaf1b14e..0222c565f 100644 --- a/src/ioc/db/dbScan.c +++ b/src/ioc/db/dbScan.c @@ -21,7 +21,7 @@ #include #include -#include "epicsStdioRedirect.h" +#include "epicsStdio.h" #include "dbDefs.h" #include "ellLib.h" #include "taskwd.h" diff --git a/src/ioc/db/dbTest.c b/src/ioc/db/dbTest.c index 9ef57f479..979344c4f 100644 --- a/src/ioc/db/dbTest.c +++ b/src/ioc/db/dbTest.c @@ -21,7 +21,6 @@ #include "errlog.h" #include "ellLib.h" #include "epicsMutex.h" -#include "epicsStdioRedirect.h" #include "ellLib.h" #include "epicsString.h" #define epicsExportSharedSymbols diff --git a/src/ioc/db/db_test.c b/src/ioc/db/db_test.c index 0ad5ad2e2..5f44e28ca 100644 --- a/src/ioc/db/db_test.c +++ b/src/ioc/db/db_test.c @@ -21,7 +21,7 @@ #include "dbDefs.h" #include "errlog.h" #include "cadef.h" -#include "epicsStdioRedirect.h" +#include "epicsStdio.h" #define epicsExportSharedSymbols #include "db_access_routines.h" #include "dbNotify.h" diff --git a/src/ioc/dbStatic/dbStaticLib.c b/src/ioc/dbStatic/dbStaticLib.c index 7b42704f5..a41562be3 100644 --- a/src/ioc/dbStatic/dbStaticLib.c +++ b/src/ioc/dbStatic/dbStaticLib.c @@ -30,7 +30,7 @@ #include "osiFileName.h" #include "epicsStdlib.h" #include "epicsString.h" -#include "epicsStdioRedirect.h" +#include "epicsStdio.h" #define epicsExportSharedSymbols #include "link.h" diff --git a/src/ioc/misc/epicsRelease.c b/src/ioc/misc/epicsRelease.c index d1fce539f..03197d7a8 100644 --- a/src/ioc/misc/epicsRelease.c +++ b/src/ioc/misc/epicsRelease.c @@ -13,7 +13,7 @@ #include #include #include "epicsVersion.h" -#include "epicsStdioRedirect.h" +#include "epicsStdio.h" #define epicsExportSharedSymbols #include "epicsRelease.h" diff --git a/src/ioc/rsrv/caservertask.c b/src/ioc/rsrv/caservertask.c index 21bcba9f4..e86277306 100644 --- a/src/ioc/rsrv/caservertask.c +++ b/src/ioc/rsrv/caservertask.c @@ -36,7 +36,7 @@ #include "dbAddr.h" #include "dbEvent.h" #include "dbCommon.h" -#include "epicsStdioRedirect.h" +#include "epicsStdio.h" #define epicsExportSharedSymbols #include "rsrv.h" diff --git a/src/libCom/as/asLibRoutines.c b/src/libCom/as/asLibRoutines.c index b45920636..a92aa19d2 100644 --- a/src/libCom/as/asLibRoutines.c +++ b/src/libCom/as/asLibRoutines.c @@ -17,7 +17,7 @@ #include #define epicsExportSharedSymbols -#include "epicsStdioRedirect.h" +#include "epicsStdio.h" #include "dbDefs.h" #include "epicsThread.h" #include "cantProceed.h" diff --git a/src/libCom/as/asTrapWrite.c b/src/libCom/as/asTrapWrite.c index a447ea95c..9aa795262 100644 --- a/src/libCom/as/asTrapWrite.c +++ b/src/libCom/as/asTrapWrite.c @@ -23,7 +23,7 @@ #define epicsExportSharedSymbols #include "ellLib.h" #include "freeList.h" -#include "epicsStdioRedirect.h" +#include "epicsStdio.h" #include "cantProceed.h" #include "epicsMutex.h" #include "ellLib.h" diff --git a/src/libCom/env/envSubr.c b/src/libCom/env/envSubr.c index 5bbd83d83..5e90b1a81 100644 --- a/src/libCom/env/envSubr.c +++ b/src/libCom/env/envSubr.c @@ -42,7 +42,7 @@ #define epicsExportSharedSymbols #include "epicsStdlib.h" -#include "epicsStdioRedirect.h" +#include "epicsStdio.h" #include "errMdef.h" #include "errlog.h" #include "envDefs.h" diff --git a/src/libCom/flex/flex.c b/src/libCom/flex/flex.c index f69c9ff7f..eb966b8e5 100644 --- a/src/libCom/flex/flex.c +++ b/src/libCom/flex/flex.c @@ -52,7 +52,7 @@ static char rcsid[] = */ #define epicsExportSharedSymbols -#include "epicsStdio.h" +#include "epicsTempFile.h" #undef epicsExportSharedSymbols static char flex_version[] = "2.3"; diff --git a/src/libCom/osi/Makefile b/src/libCom/osi/Makefile index b2baad92c..989784685 100644 --- a/src/libCom/osi/Makefile +++ b/src/libCom/osi/Makefile @@ -53,6 +53,7 @@ INC += epicsReadline.h INC += epicsMessageQueue.h INC += epicsStdio.h INC += epicsStdioRedirect.h +INC += epicsTempFile.h INC += epicsGetopt.h INC += devLib.h diff --git a/src/libCom/osi/epicsEvent.cpp b/src/libCom/osi/epicsEvent.cpp index 04b4a08d0..237f7d268 100644 --- a/src/libCom/osi/epicsEvent.cpp +++ b/src/libCom/osi/epicsEvent.cpp @@ -15,7 +15,7 @@ #define epicsExportSharedSymbols #include "epicsEvent.h" -#include "epicsStdioRedirect.h" +#include "epicsStdio.h" #include "cantProceed.h" // vxWorks 5.4 gcc fails during compile when I use std::exception diff --git a/src/libCom/osi/epicsMessageQueue.cpp b/src/libCom/osi/epicsMessageQueue.cpp index e416c46d0..1561fbf7d 100644 --- a/src/libCom/osi/epicsMessageQueue.cpp +++ b/src/libCom/osi/epicsMessageQueue.cpp @@ -19,7 +19,7 @@ #define epicsExportSharedSymbols #include "epicsMessageQueue.h" -#include "epicsStdioRedirect.h" +#include "epicsStdio.h" epicsMessageQueue::epicsMessageQueue(unsigned int aCapacity, unsigned int aMaxMessageSize) diff --git a/src/libCom/osi/epicsMutex.cpp b/src/libCom/osi/epicsMutex.cpp index d2e421204..84c6fcf3a 100644 --- a/src/libCom/osi/epicsMutex.cpp +++ b/src/libCom/osi/epicsMutex.cpp @@ -26,7 +26,7 @@ #include #define epicsExportSharedSymbols -#include "epicsStdioRedirect.h" +#include "epicsStdio.h" #include "epicsThread.h" #include "ellLib.h" #include "errlog.h" diff --git a/src/libCom/osi/epicsStdio.c b/src/libCom/osi/epicsStdio.c index 50c696a2c..bdce19db1 100644 --- a/src/libCom/osi/epicsStdio.c +++ b/src/libCom/osi/epicsStdio.c @@ -19,6 +19,7 @@ #include #define epicsExportSharedSymbols +#define epicsStdioStdStreams #include "shareLib.h" #include "epicsThread.h" #include "epicsStdio.h" diff --git a/src/libCom/osi/epicsStdio.h b/src/libCom/osi/epicsStdio.h index 7a2dc5ade..d05a6912a 100644 --- a/src/libCom/osi/epicsStdio.h +++ b/src/libCom/osi/epicsStdio.h @@ -17,18 +17,42 @@ #include "shareLib.h" #include "compilerDependencies.h" +#include "epicsTempFile.h" #ifdef __cplusplus extern "C" { #endif +#ifndef epicsStdioStdStreams +# undef stdin +# define stdin epicsGetStdin() +# undef stdout +# define stdout epicsGetStdout() +# undef stderr +# define stderr epicsGetStderr() +#endif + +/* Make printf, puts and putchar use *our* version of stdout */ + +#ifdef printf +# undef printf +#endif /* printf */ +#define printf epicsStdoutPrintf + +#ifdef puts +# undef puts +#endif /* puts */ +#define puts epicsStdoutPuts + +#ifdef putchar +# undef putchar +#endif /* putchar */ +#define putchar epicsStdoutPutchar + epicsShareFunc int epicsShareAPI epicsSnprintf( char *str, size_t size, const char *format, ...) EPICS_PRINTF_STYLE(3,4); epicsShareFunc int epicsShareAPI epicsVsnprintf( char *str, size_t size, const char *format, va_list ap); -epicsShareFunc void epicsShareAPI epicsTempName ( - char * pNameBuf, size_t nameBufLength ); -epicsShareFunc FILE * epicsShareAPI epicsTempFile (void); /* * truncate to specified size (we dont use truncate() diff --git a/src/libCom/osi/epicsStdioRedirect.h b/src/libCom/osi/epicsStdioRedirect.h index 36edf1dbe..6f99cc9a5 100644 --- a/src/libCom/osi/epicsStdioRedirect.h +++ b/src/libCom/osi/epicsStdioRedirect.h @@ -9,41 +9,15 @@ /* epicsStdioRedirect.h */ +/* This file is now obselete, and is likely to be + * deleted in a future release of EPICS Base. + * + * Use the epicsStdio.h header file instead. + */ + #ifndef epicsStdioRedirecth #define epicsStdioRedirecth -#ifdef __cplusplus -extern "C" { -#endif - #include -#undef stdin -#define stdin epicsGetStdin() -#undef stdout -#define stdout epicsGetStdout() -#undef stderr -#define stderr epicsGetStderr() - -/* Make printf, puts and putchar use *our* version of stdout */ - -#ifdef printf -# undef printf -#endif /* printf */ -#define printf epicsStdoutPrintf - -#ifdef puts -# undef puts -#endif /* puts */ -#define puts epicsStdoutPuts - -#ifdef putchar -# undef putchar -#endif /* putchar */ -#define putchar epicsStdoutPutchar - -#ifdef __cplusplus -} -#endif - #endif /* epicsStdioRedirecth */ diff --git a/src/libCom/osi/epicsTempFile.h b/src/libCom/osi/epicsTempFile.h new file mode 100644 index 000000000..c48e336ec --- /dev/null +++ b/src/libCom/osi/epicsTempFile.h @@ -0,0 +1,30 @@ +/*************************************************************************\ +* Copyright (c) 2012 UChicago Argonne LLC, 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 is distributed subject to a Software License Agreement found +* in file LICENSE that is included with this distribution. +\*************************************************************************/ + +/* epicsTempFile.h */ + +#ifndef INC_epicsTempFile_H +#define INC_epicsTempFile_H + +#include + +#include "shareLib.h" + +#ifdef __cplusplus +extern "C" { +#endif + +epicsShareFunc void epicsShareAPI epicsTempName(char *pbuf, size_t bufLen); +epicsShareFunc FILE * epicsShareAPI epicsTempFile(void); + +#ifdef __cplusplus +} +#endif + +#endif /* INC_epicsTempFile_H */ diff --git a/src/libCom/osi/epicsTime.cpp b/src/libCom/osi/epicsTime.cpp index ef6437ffa..4b150ea10 100644 --- a/src/libCom/osi/epicsTime.cpp +++ b/src/libCom/osi/epicsTime.cpp @@ -27,7 +27,6 @@ #include // vxWorks 6.0 requires this include #define epicsExportSharedSymbols -#include "epicsStdioRedirect.h" #include "locationException.h" #include "epicsAssert.h" #include "epicsVersion.h" diff --git a/src/libCom/osi/os/Darwin/osdEnv.c b/src/libCom/osi/os/Darwin/osdEnv.c index 8287f41bd..4d957ad87 100644 --- a/src/libCom/osi/os/Darwin/osdEnv.c +++ b/src/libCom/osi/os/Darwin/osdEnv.c @@ -29,7 +29,7 @@ # define environ (*_NSGetEnviron()) #define epicsExportSharedSymbols -#include +#include "epicsStdio.h" #include #include #include diff --git a/src/libCom/osi/os/RTEMS/osdMutex.c b/src/libCom/osi/os/RTEMS/osdMutex.c index 2706facfe..eb02b86ff 100644 --- a/src/libCom/osi/os/RTEMS/osdMutex.c +++ b/src/libCom/osi/os/RTEMS/osdMutex.c @@ -23,7 +23,7 @@ #include #include -#include "epicsStdioRedirect.h" +#include "epicsStdio.h" #include "epicsMutex.h" #include "epicsEvent.h" #include "errlog.h" diff --git a/src/libCom/osi/os/WIN32/epicsTempFile.cpp b/src/libCom/osi/os/WIN32/epicsTempFile.cpp index 486535460..7ef99b4fa 100644 --- a/src/libCom/osi/os/WIN32/epicsTempFile.cpp +++ b/src/libCom/osi/os/WIN32/epicsTempFile.cpp @@ -20,7 +20,7 @@ #include #define epicsExportSharedSymbols -#include "epicsStdio.h" +#include "epicsTempFile.h" // // epicsTempName diff --git a/src/libCom/osi/os/WIN32/osdMutex.c b/src/libCom/osi/os/WIN32/osdMutex.c index 63c039eef..6fa1a987e 100644 --- a/src/libCom/osi/os/WIN32/osdMutex.c +++ b/src/libCom/osi/os/WIN32/osdMutex.c @@ -45,7 +45,7 @@ #include "shareLib.h" #include "epicsMutex.h" #include "epicsAssert.h" -#include "epicsStdioRedirect.h" +#include "epicsStdio.h" typedef struct epicsMutexOSD { union { diff --git a/src/libCom/osi/os/default/osdEnv.c b/src/libCom/osi/os/default/osdEnv.c index c31ab7e09..ff1675fda 100644 --- a/src/libCom/osi/os/default/osdEnv.c +++ b/src/libCom/osi/os/default/osdEnv.c @@ -22,7 +22,7 @@ #include #define epicsExportSharedSymbols -#include +#include "epicsStdio.h" #include #include #include diff --git a/src/libCom/osi/os/iOS/osdEnv.c b/src/libCom/osi/os/iOS/osdEnv.c index 90561aff3..f55b174a8 100644 --- a/src/libCom/osi/os/iOS/osdEnv.c +++ b/src/libCom/osi/os/iOS/osdEnv.c @@ -22,7 +22,7 @@ #include #define epicsExportSharedSymbols -#include +#include "epicsStdio.h" #include #include #include diff --git a/src/libCom/osi/os/posix/epicsTempFile.cpp b/src/libCom/osi/os/posix/epicsTempFile.cpp index f662284d5..19b5fb4bc 100644 --- a/src/libCom/osi/os/posix/epicsTempFile.cpp +++ b/src/libCom/osi/os/posix/epicsTempFile.cpp @@ -11,7 +11,7 @@ #include #define epicsExportSharedSymbols -#include "epicsStdio.h" +#include "epicsTempFile.h" extern "C" epicsShareFunc void epicsShareAPI epicsTempName ( diff --git a/src/libCom/osi/os/vxWorks/osdEnv.c b/src/libCom/osi/os/vxWorks/osdEnv.c index dd53e4078..e41d57440 100644 --- a/src/libCom/osi/os/vxWorks/osdEnv.c +++ b/src/libCom/osi/os/vxWorks/osdEnv.c @@ -23,7 +23,7 @@ #include #include -#include +#include "epicsStdio.h" #include #include diff --git a/src/libCom/test/epicsStdioTest.c b/src/libCom/test/epicsStdioTest.c index 54fc3a48a..d649aa061 100644 --- a/src/libCom/test/epicsStdioTest.c +++ b/src/libCom/test/epicsStdioTest.c @@ -21,7 +21,6 @@ #include #include "epicsStdio.h" -#include "epicsStdioRedirect.h" #include "epicsUnitTest.h" #include "testMain.h" diff --git a/src/libCom/yacc/antelope.c b/src/libCom/yacc/antelope.c index 48983b587..65d360a58 100644 --- a/src/libCom/yacc/antelope.c +++ b/src/libCom/yacc/antelope.c @@ -9,7 +9,7 @@ #include #include "defs.h" #define epicsExportSharedSymbols -#include "epicsStdio.h" +#include "epicsTempFile.h" #undef epicsExportSharedSymbols char dflag;