diff --git a/require-ess/src/afterInit.c b/require-ess/src/afterInit.c index 0bbd4a1459cdaef0aec79aca3421af896bfd3ddd..ffd807dda3b3aad159c9d5af185e03d31cea5e36 100644 --- a/require-ess/src/afterInit.c +++ b/require-ess/src/afterInit.c @@ -5,6 +5,7 @@ #include <epicsExport.h> #include <epicsStdio.h> #include <errno.h> +#include <errlog.h> #include <initHooks.h> #include <iocsh.h> #include <stdlib.h> @@ -49,11 +50,11 @@ static struct cmditem *newItem(char *cmd, int type) { static int first_time = 1; struct cmditem *item; if (!cmd) { - fprintf(stderr, "usage: afterInit command, args...\n"); + errlogPrintf("usage: afterInit command, args...\n"); return NULL; } if (interruptAccept) { - fprintf(stderr, "afterInit can only be used before iocInit\n"); + errlogPrintf("afterInit can only be used before iocInit\n"); return NULL; } if (first_time) { @@ -62,7 +63,7 @@ static struct cmditem *newItem(char *cmd, int type) { } item = malloc(sizeof(struct cmditem)); if (item == NULL) { - perror("afterInit"); + errlogPrintf("afterInit %s", strerror(errno)); return NULL; } item->type = type; diff --git a/require-ess/src/common.c b/require-ess/src/common.c index 718809395c7be99618535a34e2a51782b5edaea7..a6228d40667cf6a9c24874f17f864c64f6a1ded3 100644 --- a/require-ess/src/common.c +++ b/require-ess/src/common.c @@ -1,6 +1,7 @@ #include <dbAccess.h> #include <errno.h> #include <error.h> +#include <errlog.h> #include <limits.h> #include <osiFileName.h> #include <stdarg.h> @@ -15,7 +16,7 @@ char *realpathSeparator(const char *location) { char *buffer = realpath(location, NULL); if (!buffer) { debug("require: realpath(%s) failed\n", location); - perror("require:"); + errlogPrintf("require: %s", strerror(errno)); return NULL; } size = strnlen(buffer, PATH_MAX); @@ -41,7 +42,7 @@ int putenvprintf(const char *format, ...) { if (!format) return -1; va_start(ap, format); if (vasprintf(&var, format, ap) < 0) { - perror("require putenvprintf"); + errlogPrintf("require putenvprintf %s", strerror(errno)); return errno; } va_end(ap); @@ -55,7 +56,7 @@ int putenvprintf(const char *format, ...) { } else { *val++ = 0; if (setenv(var, val, 1) != 0) { - perror("require putenvprintf: setenv failed"); + errlogPrintf("require putenvprintf: setenv failed %s", strerror(errno)); status = errno; } } @@ -67,11 +68,10 @@ void pathAdd(const char *varname, const char *dirname) { char *old_path = NULL; if (!varname || !dirname) { - fprintf(stderr, "usage: pathAdd \"ENVIRONMENT_VARIABLE\",\"directory\"\n"); - fprintf(stderr, - " Adds or moves the directory to the front of the " - "ENVIRONMENT_VARIABLE\n"); - fprintf(stderr, " but after a leading \".\".\n"); + errlogPrintf("usage: pathAdd \"ENVIRONMENT_VARIABLE\",\"directory\"\n"); + errlogPrintf(" Adds or moves the directory to the front of the " + "ENVIRONMENT_VARIABLE\n"); + errlogPrintf(" but after a leading \".\".\n"); return; } diff --git a/require-ess/src/module.c b/require-ess/src/module.c index 1c7bc22a72e2a1c1204e90a8d3e6715956e26779..129d0795347a8323acd1014a7a7ef1649b466682 100644 --- a/require-ess/src/module.c +++ b/require-ess/src/module.c @@ -1,5 +1,6 @@ #include <dbAccess.h> #include <error.h> +#include <errlog.h> #include <limits.h> #include <osiFileName.h> #include <stdio.h> @@ -130,7 +131,7 @@ int registerModule(struct linkedList *linkedlist, const char *moduleName, const "REQUIRE_IOC=%.30s, MODULE=%.24s, VERSION=%.39s, " "MODULE_COUNT=%u, BUFFER_SIZE=%lu", getenv("REQUIRE_IOC"), module->name, module->version, linkedlist->size, bufferSize) < 0){ - fprintf(stderr, "Error asprintf failed\n"); + errlogPrintf("Error asprintf failed\n"); return 0; } printf("Loading module info records for %s\n", module->name); @@ -140,6 +141,6 @@ int registerModule(struct linkedList *linkedlist, const char *moduleName, const return 0; out_of_memory: - fprintf(stderr, "require: out of memory\n"); + errlogPrintf("require: out of memory\n"); return -1; } diff --git a/require-ess/src/require.c b/require-ess/src/require.c index eed0ce0d828b903d135bf7b83ed81cf9918f19d3..2612a228335af65c3cb082dcbf94f5f277076f07 100644 --- a/require-ess/src/require.c +++ b/require-ess/src/require.c @@ -20,6 +20,7 @@ #include <epicsStdio.h> #include <epicsVersion.h> #include <errno.h> +#include <errlog.h> #include <initHooks.h> #include <iocsh.h> #include <osiFileName.h> @@ -82,7 +83,7 @@ int requireDebug; #define START_DIR_LOOP while ((errno = 0, direntry = readdir(dir)) != NULL) #define END_DIR_LOOP \ if (!direntry && errno) \ - fprintf(stderr, "error reading directory %s: %s\n", filename, \ + errlogPrintf("error reading directory %s: %s\n", filename, \ strerror(errno)); \ if (dir) closedir(dir); #ifdef _DIRENT_HAVE_D_TYPE @@ -132,12 +133,12 @@ static HMODULE loadlib(const char *libname) { HMODULE libhandle = NULL; if (libname == NULL) { - fprintf(stderr, "missing library name\n"); + errlogPrintf("missing library name\n"); return NULL; } if ((libhandle = dlopen(libname, RTLD_NOW | RTLD_GLOBAL)) == NULL) { - fprintf(stderr, "Loading %s library failed: %s\n", libname, dlerror()); + errlogPrintf("Loading %s library failed: %s\n", libname, dlerror()); } return libhandle; } @@ -178,21 +179,19 @@ static int getRecordHandle(const char *namepart, short type, DBADDR *paddr) { getenv("REQUIRE_IOC"), namepart); if (dbNameToAddr(recordname, paddr) != 0) { - fprintf(stderr, "require:getRecordHandle : record %s not found\n", + errlogPrintf("require:getRecordHandle : record %s not found\n", recordname); return -1; } if (paddr->field_type != type) { - fprintf( - stderr, + errlogPrintf( "require:getRecordHandle : record %s has wrong type %s instead of %s\n", recordname, pamapdbfType[paddr->field_type].strvalue, pamapdbfType[type].strvalue); return -1; } if (paddr->pfield == NULL) { - fprintf( - stderr, + errlogPrintf( "require:getRecordHandle : record %s has not yet allocated memory\n", recordname); return -1; @@ -246,7 +245,7 @@ static void fillModuleListRecord(initHookState state) { errlogPrintf("require: Error to put Versions\n"); } if (dbPut(&modver, DBF_CHAR, bufferModver, strlen(bufferModver)) != 0){ - printf("require: Error to put ModuleVersions"); + errlogPrintf("require: Error to put ModuleVersions\n"); } } @@ -256,12 +255,12 @@ static int registerRequire(){ requireLocation = getenv(E3_REQUIRE_LOCATION); if (!requireLocation){ - printf("require: Failed to get " E3_REQUIRE_LOCATION "\n"); + errlogPrintf("require: Failed to get " E3_REQUIRE_LOCATION "\n"); return -1; } requireVersion = getenv(E3_REQUIRE_VERSION); if (!requireVersion){ - printf("require: Failed to get " E3_REQUIRE_VERSION "\n"); + errlogPrintf("require: Failed to get " E3_REQUIRE_VERSION "\n"); return -1; } registerModule(&loadedModules, "require", requireVersion, requireLocation); @@ -276,7 +275,7 @@ int libversionShow(const char *outfile) { if (outfile) { out = fopen(outfile, "w"); if (out == NULL) { - fprintf(stderr, "can't open %s: %s\n", outfile, strerror(errno)); + errlogPrintf("can't open %s: %s\n", outfile, strerror(errno)); return -1; } } @@ -285,7 +284,7 @@ int libversionShow(const char *outfile) { m->version, m->path); } if (fflush(out) < 0 && outfile) { - fprintf(stderr, "can't write to %s: %s\n", outfile, strerror(errno)); + errlogPrintf("can't write to %s: %s\n", outfile, strerror(errno)); return -1; } if (outfile) fclose(out); @@ -432,7 +431,7 @@ int require(const char *module, const char *version) { } if (interruptAccept) { - fprintf(stderr, "Error! Modules can only be loaded before iocIint!\n"); + errlogPrintf("Error! Modules can only be loaded before iocIint!\n"); return -1; } @@ -450,7 +449,7 @@ int require(const char *module, const char *version) { if (interruptAccept) return status; /* require failed in startup script before iocInit */ - fprintf(stderr, "Aborting startup script\n"); + errlogPrintf("Aborting startup script\n"); epicsExit(1); return status; } @@ -677,18 +676,16 @@ static char* fetch_module_version(char *filename, size_t max_file_len, if (!found) { if (someArchFound) - fprintf(stderr, - "Module %s%s%s not available for %s\n(but maybe for other " - "EPICS versions or architectures)\n", - module, version ? " version " : "", version ? version : "", - targetArch); + errlogPrintf("Module %s%s%s not available for %s\n(but maybe for other " + "EPICS versions or architectures)\n", + module, version ? " version " : "", version ? version : "", + targetArch); else if (someVersionFound) - fprintf( - stderr, + errlogPrintf( "Module %s%s%s not available (but other versions are available)\n", module, version ? " version " : "", version ? version : ""); else - fprintf(stderr, "Module %s%s%s not available\n", module, + errlogPrintf("Module %s%s%s not available\n", module, version ? " version " : "", version ? version : ""); if (founddir) free(founddir); return NULL; @@ -721,7 +718,7 @@ static const char *compare_module_version(char *filename, const char *module, "<dirname>/[dirlen]<module>/<version>/[releasediroffs]/lib/<targetArch>/[libdiroffs]/PREFIX<module>INFIX(EXT)?" */ if (!(TRY_FILE(libdiroffs, PREFIX "%s" INFIX EXT, module))) { - printf("Module %s has no library\n", module); + errlogPrintf("Module %s has no library\n", module); found = version; } else { printf("Loading library %s\n", filename); @@ -743,7 +740,7 @@ static const char *compare_module_version(char *filename, const char *module, debug("require: compare requested version %s with loaded version %s\n", version, found); if (compareVersions(found, version, FALSE) == MISMATCH) { - fprintf(stderr, "Requested %s version %s not available, found only %s.\n", + errlogPrintf("Requested %s version %s not available, found only %s.\n", module, version, found); return NULL; } @@ -764,7 +761,7 @@ static int load_module_data(char *filename, const char *module, module)) { printf("Loading dbd file %s\n", filename); if (dbLoadDatabase(filename, NULL, NULL) != 0) { - fprintf(stderr, "Error loading %s\n", filename); + errlogPrintf("Error loading %s\n", filename); return -1; } @@ -846,7 +843,7 @@ static int require_priv(const char *module, const char *version) { /* filename = "<dirname>/[dirlen]<module>/<version>/[releasediroffs]/lib/<targetArch>/[libdiroffs]/module.dep" */ - fprintf(stderr, "Dependency file %s not found\n", filename); + errlogPrintf("Dependency file %s not found\n", filename); } else { /* filename = * "<dirname>/[dirlen]<module>/<version>/[releasediroffs]/lib/<targetArch>/[libdiroffs]/module.dep" @@ -945,7 +942,7 @@ static void requireRegister(void) { iocshRegister(&ldDef, ldFunc); iocshRegister(&pathAddDef, pathAddFunc); if(registerRequire() != 0){ - printf("require: Could not register require.\n"); + errlogPrintf("require: Could not register require.\n"); } set_require_env();