From 4190f38db0d88264e2f88a7962880a6dfea09db6 Mon Sep 17 00:00:00 2001 From: Dirk Zimoch Date: Tue, 23 Oct 2018 17:51:46 +0200 Subject: [PATCH] add macro IOCSH_STATIC_FUNC to avoid '#ifdef vxWorks' in code --- modules/database/src/ioc/misc/dlload.c | 20 +++----- modules/libcom/src/iocsh/iocsh.h | 7 +++ modules/libcom/src/iocsh/libComRegister.c | 60 +++++++++-------------- 3 files changed, 38 insertions(+), 49 deletions(-) diff --git a/modules/database/src/ioc/misc/dlload.c b/modules/database/src/ioc/misc/dlload.c index 48117f55b..ddf04f455 100644 --- a/modules/database/src/ioc/misc/dlload.c +++ b/modules/database/src/ioc/misc/dlload.c @@ -9,26 +9,22 @@ #include "iocsh.h" #include "epicsExport.h" +IOCSH_STATIC_FUNC void dlload(const char* name) +{ + if (!epicsLoadLibrary(name)) { + printf("epicsLoadLibrary failed: %s\n", epicsLoadError()); + } +} + static const iocshArg dlloadArg0 = { "path/library.so", iocshArgString}; static const iocshArg * const dlloadArgs[] = {&dlloadArg0}; static const iocshFuncDef dlloadFuncDef = {"dlload", 1, dlloadArgs}; static void dlloadCallFunc(const iocshArgBuf *args) { - if (!epicsLoadLibrary(args[0].sval)) { - printf("epicsLoadLibrary failed: %s\n", epicsLoadError()); - } + dlload(args[0].sval); } static void dlloadRegistar(void) { iocshRegister(&dlloadFuncDef, dlloadCallFunc); } epicsExportRegistrar(dlloadRegistar); - -#ifdef vxWorks -void dlload(const char* name) -{ - if (!epicsLoadLibrary(name)) { - printf("epicsLoadLibrary failed: %s\n", epicsLoadError()); - } -} -#endif diff --git a/modules/libcom/src/iocsh/iocsh.h b/modules/libcom/src/iocsh/iocsh.h index 3ef3d952b..84b38f224 100644 --- a/modules/libcom/src/iocsh/iocsh.h +++ b/modules/libcom/src/iocsh/iocsh.h @@ -14,8 +14,15 @@ #define INCiocshH #include +#include "compilerDependencies.h" #include "shareLib.h" +#if defined(vxWorks) || defined(__rtems__) +#define IOCSH_STATIC_FUNC +#else +#define IOCSH_STATIC_FUNC static EPICS_ALWAYS_INLINE +#endif + #ifdef __cplusplus extern "C" { #endif diff --git a/modules/libcom/src/iocsh/libComRegister.c b/modules/libcom/src/iocsh/libComRegister.c index 0c8d7ea53..88abdc671 100644 --- a/modules/libcom/src/iocsh/libComRegister.c +++ b/modules/libcom/src/iocsh/libComRegister.c @@ -27,6 +27,7 @@ #include "libComRegister.h" +/* date */ void date(const char *format) { epicsTimeStamp now; @@ -42,7 +43,6 @@ void date(const char *format) puts(nowText); } -/* date */ static const iocshArg dateArg0 = { "format",iocshArgString}; static const iocshArg * const dateArgs[] = {&dateArg0}; static const iocshFuncDef dateFuncDef = {"date", 1, dateArgs}; @@ -52,13 +52,8 @@ static void dateCallFunc (const iocshArgBuf *args) } /* echo */ -static const iocshArg echoArg0 = { "string",iocshArgString}; -static const iocshArg * const echoArgs[1] = {&echoArg0}; -static const iocshFuncDef echoFuncDef = {"echo",1,echoArgs}; -static void echoCallFunc(const iocshArgBuf *args) +IOCSH_STATIC_FUNC void echo(char* str) { - char *str = args[0].sval; - if (str) dbTranslateEscape(str, str); /* in-place is safe */ else @@ -66,16 +61,13 @@ static void echoCallFunc(const iocshArgBuf *args) printf("%s\n", str); } -#ifdef vxWorks -void echo(char* str) +static const iocshArg echoArg0 = { "string",iocshArgString}; +static const iocshArg * const echoArgs[1] = {&echoArg0}; +static const iocshFuncDef echoFuncDef = {"echo",1,echoArgs}; +static void echoCallFunc(const iocshArgBuf *args) { - if (str) - dbTranslateEscape(str, str); - else - str = ""; - printf("%s\n", str); + echo(args[0].sval); } -#endif /* chdir */ static const iocshArg chdirArg0 = { "directory name",iocshArgString}; @@ -122,18 +114,16 @@ static void epicsEnvSetCallFunc(const iocshArgBuf *args) } /* epicsParamShow */ -static const iocshFuncDef epicsParamShowFuncDef = {"epicsParamShow",0,NULL}; -static void epicsParamShowCallFunc(const iocshArgBuf *args) +IOCSH_STATIC_FUNC void epicsParamShow() { epicsPrtEnvParams (); } -#ifdef vxWorks -void epicsParamShow() +static const iocshFuncDef epicsParamShowFuncDef = {"epicsParamShow",0,NULL}; +static void epicsParamShowCallFunc(const iocshArgBuf *args) { - epicsPrtEnvParams (); + epicsParamShow (); } -#endif /* epicsPrtEnvParams */ static const iocshFuncDef epicsPrtEnvParamsFuncDef = {"epicsPrtEnvParams",0,0}; @@ -166,21 +156,19 @@ static void iocLogInitCallFunc(const iocshArgBuf *args) } /* iocLogDisable */ +IOCSH_STATIC_FUNC void setIocLogDisable(int val) +{ + iocLogDisable = val; +} + static const iocshArg iocLogDisableArg0 = {"(0,1)=>(false,true)",iocshArgInt}; static const iocshArg * const iocLogDisableArgs[1] = {&iocLogDisableArg0}; static const iocshFuncDef iocLogDisableFuncDef = {"setIocLogDisable",1,iocLogDisableArgs}; static void iocLogDisableCallFunc(const iocshArgBuf *args) { - iocLogDisable = args[0].ival; + setIocLogDisable(args[0].ival); } -#ifdef vxWorks -void setIocLogDisable(int val) -{ - iocLogDisable = val; -} -#endif - /* iocLogShow */ static const iocshArg iocLogShowArg0 = {"level",iocshArgInt}; static const iocshArg * const iocLogShowArgs[1] = {&iocLogShowArg0}; @@ -222,21 +210,19 @@ static void errlogInit2CallFunc(const iocshArgBuf *args) } /* errlog */ +IOCSH_STATIC_FUNC void errlog(const char *message) +{ + errlogPrintfNoConsole("%s\n", message); +} + static const iocshArg errlogArg0 = { "message",iocshArgString}; static const iocshArg * const errlogArgs[1] = {&errlogArg0}; static const iocshFuncDef errlogFuncDef = {"errlog",1,errlogArgs}; static void errlogCallFunc(const iocshArgBuf *args) { - errlogPrintfNoConsole("%s\n", args[0].sval); + errlog(args[0].sval); } -#ifdef vxWorks -void errlog(const char *message) -{ - errlogPrintfNoConsole("%s\n", message); -} -#endif - /* iocLogPrefix */ static const iocshArg iocLogPrefixArg0 = { "prefix",iocshArgString}; static const iocshArg * const iocLogPrefixArgs[1] = {&iocLogPrefixArg0};