From c6304e899150bb2ca14225b39a5fd9cfdb8c1e5c Mon Sep 17 00:00:00 2001 From: Dirk Zimoch Date: Thu, 30 Apr 2020 13:41:27 +0200 Subject: [PATCH] set IOC_DIR environment variable to IOC start directory --- require.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/require.c b/require.c index 4552680..4e94360 100644 --- a/require.c +++ b/require.c @@ -170,6 +170,7 @@ int requireDebug; #endif #endif + #include #include #define HMODULE void * @@ -192,10 +193,12 @@ int requireDebug; #endif #include + #include #include #pragma comment(lib, "kernel32.lib") #pragma comment(lib, "psapi.lib") #include "asprintf.h" + #define getcwd _getcwd #define snprintf _snprintf #define setenv(name,value,overwrite) _putenv_s(name,value) #define PATH_MAX MAX_PATH @@ -1056,12 +1059,18 @@ int require(const char* module, const char* version, const char* args) if (firstTime) { + char* cwd; + firstTime = 0; + cwd = malloc(PATH_MAX+1); + getcwd(cwd, PATH_MAX); putenvprintf("T_A=%s", targetArch); putenvprintf("EPICS_HOST_ARCH=%s", targetArch); putenvprintf("EPICS_RELEASE=%s", epicsRelease); putenvprintf("EPICS_BASETYPE=%s", epicsBasetype); putenvprintf("OS_CLASS=%s", osClass); + putenvprintf("IOC_DIR=%s", cwd); + free(cwd); } if (module == NULL)