From 30bff48e1db84fc3d3a8fc7e7881ea3f2d2812f3 Mon Sep 17 00:00:00 2001
From: Simon Rose <simon.rose@ess.eu>
Date: Wed, 19 Aug 2020 16:06:59 +0200
Subject: [PATCH] Accidentally added garbled file

---
 require.c | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 68 insertions(+), 1 deletion(-)

diff --git a/require.c b/require.c
index 26fc93c0..ddc51db8 100644
--- a/require.c
+++ b/require.c
@@ -1574,4 +1574,71 @@ require_priv(const char *module,
         char *t;
         t = getenv("TEMPLATES");
         if (globalTemplates && (!t || strcmp(globalTemplates, t) != 0))
-            pute
\ No newline at end of file
+            putenvprintf("TEMPLATES=%s", globalTemplates);
+    }
+
+    if (loaded && args == NULL)
+        return 0; /* no need to execute startup script twice if not with new arguments */
+
+    return status;
+}
+
+static const iocshFuncDef requireDef = {
+    "require", 3, (const iocshArg *[]){
+                      &(iocshArg){"module", iocshArgString},
+                      &(iocshArg){"[version]", iocshArgString},
+                      &(iocshArg){"[substitutions]", iocshArgString},
+                  }};
+
+static void requireFunc(const iocshArgBuf *args)
+{
+    require(args[0].sval, args[1].sval, args[2].sval);
+}
+
+static const iocshFuncDef libversionShowDef = {
+    "libversionShow", 1, (const iocshArg *[]){
+                             &(iocshArg){"outputfile", iocshArgString},
+                         }};
+
+static void libversionShowFunc(const iocshArgBuf *args)
+{
+    libversionShow(args[0].sval);
+}
+
+static const iocshFuncDef ldDef = {
+    "ld", 1, (const iocshArg *[]){
+                 &(iocshArg){"library", iocshArgString},
+             }};
+
+static void ldFunc(const iocshArgBuf *args)
+{
+    loadlib(args[0].sval);
+}
+
+static const iocshFuncDef pathAddDef = {
+    "pathAdd", 2, (const iocshArg *[]){
+                      &(iocshArg){"ENV_VARIABLE", iocshArgString},
+                      &(iocshArg){"directory", iocshArgString},
+                  }};
+
+static void pathAddFunc(const iocshArgBuf *args)
+{
+    pathAdd(args[0].sval, args[1].sval);
+}
+
+static void requireRegister(void)
+{
+    static int firstTime = 1;
+    if (firstTime)
+    {
+        firstTime = 0;
+        iocshRegister(&requireDef, requireFunc);
+        iocshRegister(&libversionShowDef, libversionShowFunc);
+        iocshRegister(&ldDef, ldFunc);
+        iocshRegister(&pathAddDef, pathAddFunc);
+        registerExternalModules();
+    }
+}
+
+epicsExportRegistrar(requireRegister);
+epicsExportAddress(int, requireDebug);
-- 
GitLab