]> jspc29.x-matter.uni-frankfurt.de Git - daqdata.git/commitdiff
*** empty log message ***
authorhadaq <hadaq>
Wed, 5 Feb 2003 13:17:59 +0000 (13:17 +0000)
committerhadaq <hadaq>
Wed, 5 Feb 2003 13:17:59 +0000 (13:17 +0000)
allParam/ChangeLog
allParam/ca/client/caParam.c
allParam/file/fileParam.c
allParam/ora/oraParam.pc
allParam/tcl/tclParam.c

index e047538afdbc4019f2262a579125050fb8c0d4fa..068ba37d835b29aa16963f2a5af2a9ea6f895893 100644 (file)
@@ -1,3 +1,12 @@
+2003-02-05     Benjamin Sailer <Benjamin.Sailer@ph.tum.de>
+
+       * Re-introduced glob(basedir) as default for starting point for
+         directories if $(uname -n)(basedir) is not given.
+2003-02-05     Mathias Muench  <Mathias.Muench@epost.de>
+
+       * cleared bug in tclParam (free of not allocated my->basedir).
 2003-01-31     Benjamin Sailer <Benjamin.Sailer@ph.tum.de>
 
        * added configure-support to 'examples'.  Changed C-sources
index ae148cf930d989b9a2030da2cc66b89196490841..6e2a2fda03750ca3c670dd97dde7ba035d29fff4 100644 (file)
@@ -1,4 +1,4 @@
-static const char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/allParam/ca/client/caParam.c,v 1.22 2003-01-31 16:40:17 hadaq Exp $";
+static const char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/allParam/ca/client/caParam.c,v 1.23 2003-02-05 13:17:59 hadaq Exp $";
 #define _POSIX_C_SOURCE 199509L
 
 #if HAVE_CONFIG_H
@@ -108,6 +108,7 @@ int conSetupParam(Param *my, const char *setup)
                free(((CaParam *) (my->specParam))->cacheLock);
                pthread_mutex_destroy(((CaParam *) (my->specParam))->socketLock);
                free(((CaParam *) (my->specParam))->socketLock);
+               my->basedir = NULL;
                retVal = -1;
        } else {
                if (setup != NULL) {
@@ -118,9 +119,12 @@ int conSetupParam(Param *my, const char *setup)
                }
                my->basedir = malloc(PARAM_MAX_VALUE_LEN);
                uname(buffer);
-               if (Param_getString(my, buffer->nodename, "basedir", &row, my->basedir) || (row != 1)) {
-                       strcpy(my->basedir, "");
-               } else if (strlen(my->basedir)) {
+               if(Param_getString(my, buffer->nodename, "basedir", &row, my->basedir) || (row != 1)) {
+                       if(Param_getString(my, "glob", "basedir", &row, my->basedir) || (row != 1)) {
+                               strcpy(my->basedir, "");
+                       }
+               }
+               if (strlen(my->basedir)) {
                        strcat(my->basedir, "/");
                }
        }
index c205a497a8b43f071f31336b9d69b6054f07cfb3..27ca0690b16860488faeb5b8282de9dbdd626521 100644 (file)
@@ -1,10 +1,9 @@
-static const char rcsId[] =
-    "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/allParam/file/fileParam.c,v 1.20 2003-01-31 16:40:18 hadaq Exp $";
+static const char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/allParam/file/fileParam.c,v 1.22 2003-02-05 13:17:59 hadaq Exp $";
 #define _POSIX_C_SOURCE 199509L
 
 #if HAVE_CONFIG_H
 #include <config.h>
-#endif                         /* HAVE_CONFIG_H */
+#endif /* HAVE_CONFIG_H */
 
 #include <unistd.h>
 
@@ -22,522 +21,413 @@ static int Param_getParamNumber(const Param *, const char *, const char *);
 static void Param_strerror(Param *, const char *);
 
 typedef struct FileParamS {
-    int nVals;
-    char **pname;
-    char **value;
-    FILE *store;
+       int nVals;
+       char **pname;
+       char **value;
+       FILE *store;
 } FileParam;
 
-int conSetupParam(Param * my, const char *setup)
+int conSetupParam(Param *my, const char *setup)
 {
-    int retVal = 0;
-    char *paramFile;
-    char *storageFile;
-    FILE *f;
-    char buf[2 * (PARAM_MAX_NAME_LEN + 1)];
-    int row = 0;
-    struct utsname bufferS, *buffer = &bufferS;
-
-    my->strerror = NULL;
-    my->specParam = malloc(sizeof(FileParam));
-    ((FileParam *) (my->specParam))->pname = 0;
-    ((FileParam *) (my->specParam))->value = 0;
-    ((FileParam *) (my->specParam))->nVals = 0;
-
-    if (setup != NULL) {
-       my->setup = malloc(strlen(setup) + 1);
-       strcpy(my->setup, setup);
-    } else {
-       my->setup = NULL;
-    }
-
-    paramFile =
-       malloc(((my->setup ==
-                NULL) ? strlen("default") : strlen(setup)) +
-              strlen("_p.tcl") + 1);
-    storageFile =
-       malloc(((my->setup ==
-                NULL) ? strlen("default") : strlen(setup)) +
-              strlen("_s.tcl") + 1);
-    sprintf(paramFile, "%s_p.tcl", (setup == NULL) ? "default" : setup);
-    sprintf(storageFile, "%s_s.tcl", (setup == NULL) ? "default" : setup);
-
-    if (NULL == (f = fopen(paramFile, "r"))) {
-       desParam(my);
-       return -1;
-    } else {
-       while (fgets(buf, 2 * (PARAM_MAX_NAME_LEN + 1), f) != NULL) {
-           if (buf[0] != '#') {
-               int items = 0;
-
-               ((FileParam *) (my->specParam))->nVals++;
-               ((FileParam *) (my->specParam))->pname =
-                   realloc(((FileParam *) (my->specParam))->pname,
-                           ((FileParam *) (my->specParam))->nVals *
-                           sizeof(char *));
-               ((FileParam *) (my->specParam))->value =
-                   realloc(((FileParam *) (my->specParam))->value,
-                           ((FileParam *) (my->specParam))->nVals *
-                           sizeof(char *));
-               ((FileParam *) (my->specParam))->
-                   pname[((FileParam *) (my->specParam))->nVals - 1] =
-                   malloc(2 * (PARAM_MAX_NAME_LEN + 1) * sizeof(char));
-               ((FileParam *) (my->specParam))->
-                   value[((FileParam *) (my->specParam))->nVals - 1] =
-                   malloc(PARAM_MAX_VALUE_LEN * sizeof(char));
-               items =
-                   sscanf(buf, "set%s %*[\"]%[^\"]\"",
-                          ((FileParam *) (my->specParam))->
-                          pname[((FileParam *) (my->specParam))->nVals -
-                                1],
-                          ((FileParam *) (my->specParam))->
-                          value[((FileParam *) (my->specParam))->nVals -
-                                1]);
-               if (items != 2) {
-                   items = sscanf(buf, "set%s%s",
-                                  ((FileParam *) (my->specParam))->
-                                  pname[((FileParam *) (my->specParam))->
-                                        nVals - 1],
-                                  ((FileParam *) (my->specParam))->
-                                  value[((FileParam *) (my->specParam))->
-                                        nVals - 1]);
+       int retVal = 0;
+       char *paramFile;
+       char *storageFile;
+       FILE *f;
+       char buf[2 * (PARAM_MAX_NAME_LEN + 1)];
+       int row = 0;
+       struct utsname bufferS, *buffer = &bufferS;
+
+       my->strerror = NULL;
+       my->specParam = malloc(sizeof(FileParam));
+       ((FileParam *) (my->specParam))->pname = 0;
+       ((FileParam *) (my->specParam))->value = 0;
+       ((FileParam *) (my->specParam))->nVals = 0;
+
+       if (setup != NULL) {
+               my->setup = malloc(strlen(setup) + 1);
+               strcpy(my->setup, setup);
+       } else {
+               my->setup = NULL;
+       }
+
+       paramFile = malloc(((my->setup == NULL) ? strlen("default") : strlen(setup)) + strlen("_p.tcl") + 1);
+       storageFile = malloc(((my->setup == NULL) ? strlen("default") : strlen(setup)) + strlen("_s.tcl") + 1);
+       sprintf(paramFile, "%s_p.tcl", (setup == NULL) ? "default" : setup);
+       sprintf(storageFile, "%s_s.tcl", (setup == NULL) ? "default" : setup);
+
+       if (NULL == (f = fopen(paramFile, "r"))) {
+               desParam(my);
+               return -1;
+       } else {
+               while(fgets(buf, 2 * (PARAM_MAX_NAME_LEN + 1), f) != NULL) {
+                       if (buf[0] != '#') {
+                               int items = 0;
+
+                               ((FileParam *) (my->specParam))->nVals++;
+                               ((FileParam *) (my->specParam))->pname = realloc(((FileParam *) (my->specParam))->pname, ((FileParam *) (my->specParam))->nVals * sizeof(char *));
+                               ((FileParam *) (my->specParam))->value = realloc(((FileParam *) (my->specParam))->value, ((FileParam *) (my->specParam))->nVals * sizeof(char *));
+                               ((FileParam *) (my->specParam))->pname[((FileParam *) (my->specParam))->nVals - 1] = malloc(2 * (PARAM_MAX_NAME_LEN + 1) * sizeof(char));
+                               ((FileParam *) (my->specParam))->value[((FileParam *) (my->specParam))->nVals - 1] = malloc(PARAM_MAX_VALUE_LEN * sizeof(char));
+                               items = sscanf(buf, "set%s %*[\"]%[^\"]\"",
+                                       ((FileParam *) (my->specParam))->pname[((FileParam *) (my->specParam))->nVals - 1],
+                                       ((FileParam *) (my->specParam))->value[((FileParam *) (my->specParam))->nVals - 1]
+                               );
+                               if (items != 2) {
+                                       items = sscanf(buf, "set%s%s",
+                                               ((FileParam *) (my->specParam))->pname[((FileParam *) (my->specParam))->nVals - 1],
+                                               ((FileParam *) (my->specParam))->value[((FileParam *) (my->specParam))->nVals - 1]
+                                       );
+                               }
+                               if (items != 2) {
+                                       free(((FileParam *) (my->specParam))->pname[((FileParam *) (my->specParam))->nVals - 1]);
+                                       free(((FileParam *) (my->specParam))->value[((FileParam *) (my->specParam))->nVals - 1]);
+                                       ((FileParam *) (my->specParam))->nVals--;
+                                       ((FileParam *) (my->specParam))->pname = realloc(((FileParam *) (my->specParam))->pname, ((FileParam *) (my->specParam))->nVals * sizeof(char *));
+                                       ((FileParam *) (my->specParam))->value = realloc(((FileParam *) (my->specParam))->value, ((FileParam *) (my->specParam))->nVals * sizeof(char *));
+                               }
+                       }
+               } 
+               fclose(f);
+       }
+
+       if (NULL == (((FileParam *) (my->specParam))->store = fopen(storageFile, "a+"))) {
+               return -1;
+       }
+
+       free(paramFile);
+       free(storageFile);
+
+       if(retVal == 0) {
+               my->basedir = malloc(PARAM_MAX_VALUE_LEN);
+               uname(buffer);
+               if(Param_getString(my, buffer->nodename, "basedir", &row, my->basedir) || (row != 1)) {
+                       if(Param_getString(my, "glob", "basedir", &row, my->basedir) || (row != 1)) {
+                               strcpy(my->basedir, "");
+                       }
                }
-               if (items != 2) {
-                   free(((FileParam *) (my->specParam))->
-                        pname[((FileParam *) (my->specParam))->nVals -
-                              1]);
-                   free(((FileParam *) (my->specParam))->
-                        value[((FileParam *) (my->specParam))->nVals -
-                              1]);
-                   ((FileParam *) (my->specParam))->nVals--;
-                   ((FileParam *) (my->specParam))->pname =
-                       realloc(((FileParam *) (my->specParam))->pname,
-                               ((FileParam *) (my->specParam))->nVals *
-                               sizeof(char *));
-                   ((FileParam *) (my->specParam))->value =
-                       realloc(((FileParam *) (my->specParam))->value,
-                               ((FileParam *) (my->specParam))->nVals *
-                               sizeof(char *));
+               if (strlen(my->basedir)) {
+                       strcat(my->basedir, "/");
                }
-           }
-       }
-       fclose(f);
-    }
-
-    if (NULL ==
-       (((FileParam *) (my->specParam))->store =
-        fopen(storageFile, "a+"))) {
-       return -1;
-    }
-
-    free(paramFile);
-    free(storageFile);
-
-    if (retVal == 0) {
-       my->basedir = malloc(PARAM_MAX_VALUE_LEN);
-       uname(buffer);
-       if (Param_getString
-           (my, buffer->nodename, "basedir", &row, my->basedir)
-           || (row != 1)) {
-           strcpy(my->basedir, "");
-       } else if (strlen(my->basedir)) {
-           strcat(my->basedir, "/");
+       } else {
+               my->basedir = NULL;
        }
-    }
 
-    return retVal;
+       return retVal;
 }
 
-int conParam(Param * my)
+int conParam(Param *my)
 {
-    int retVal = 0;
-    char *paramFile;
-    char *storageFile;
-    FILE *f;
-    char buf[2 * (PARAM_MAX_NAME_LEN + 1)];
-    char *tmp;
-    int row = 0;
-    struct utsname bufferS, *buffer = &bufferS;
-
-    my->strerror = NULL;
-    my->setup = NULL;
-    my->specParam = malloc(sizeof(FileParam));
-    ((FileParam *) (my->specParam))->pname = 0;
-    ((FileParam *) (my->specParam))->value = 0;
-    ((FileParam *) (my->specParam))->nVals = 0;
-
-    if ((tmp = getenv("DAQSLOW_PARAM_FILE")) != NULL) {
-       paramFile = malloc(strlen(tmp) + 1);
-       strcpy(paramFile, tmp);
-    } else {
-       paramFile = malloc(strlen("param.tcl") + 1);
-       strcpy(paramFile, "param.tcl");
-    }
-
-    if ((tmp = getenv("DAQSLOW_STORAGE_FILE")) != NULL) {
-       storageFile = malloc(strlen(tmp) + 1);
-       strcpy(storageFile, tmp);
-    } else {
-       storageFile = malloc(strlen("storage.tcl") + 1);
-       strcpy(storageFile, "storage.tcl");
-    }
-
-    if (NULL == (f = fopen(paramFile, "r"))) {
-       desParam(my);
-       return -1;
-    } else {
-       while (fgets(buf, 2 * (PARAM_MAX_NAME_LEN + 1), f) != NULL) {
-           if (buf[0] != '#') {
-               int items = 0;
-
-               ((FileParam *) (my->specParam))->nVals++;
-               ((FileParam *) (my->specParam))->pname =
-                   realloc(((FileParam *) (my->specParam))->pname,
-                           ((FileParam *) (my->specParam))->nVals *
-                           sizeof(char *));
-               ((FileParam *) (my->specParam))->value =
-                   realloc(((FileParam *) (my->specParam))->value,
-                           ((FileParam *) (my->specParam))->nVals *
-                           sizeof(char *));
-               ((FileParam *) (my->specParam))->
-                   pname[((FileParam *) (my->specParam))->nVals - 1] =
-                   malloc(2 * (PARAM_MAX_NAME_LEN + 1) * sizeof(char));
-               ((FileParam *) (my->specParam))->
-                   value[((FileParam *) (my->specParam))->nVals - 1] =
-                   malloc(PARAM_MAX_VALUE_LEN * sizeof(char));
-               items =
-                   sscanf(buf, "set%s %*[\"]%[^\"]\"",
-                          ((FileParam *) (my->specParam))->
-                          pname[((FileParam *) (my->specParam))->nVals -
-                                1],
-                          ((FileParam *) (my->specParam))->
-                          value[((FileParam *) (my->specParam))->nVals -
-                                1]);
-               if (items != 2) {
-                   items = sscanf(buf, "set%s%s",
-                                  ((FileParam *) (my->specParam))->
-                                  pname[((FileParam *) (my->specParam))->
-                                        nVals - 1],
-                                  ((FileParam *) (my->specParam))->
-                                  value[((FileParam *) (my->specParam))->
-                                        nVals - 1]);
+       int retVal = 0;
+       char *paramFile;
+       char *storageFile;
+       FILE *f;
+       char buf[2 * (PARAM_MAX_NAME_LEN + 1)];
+       char *tmp;
+       int row = 0;
+       struct utsname bufferS, *buffer = &bufferS;
+
+       my->strerror = NULL;
+       my->setup = NULL;
+       my->specParam = malloc(sizeof(FileParam));
+       ((FileParam *) (my->specParam))->pname = 0;
+       ((FileParam *) (my->specParam))->value = 0;
+       ((FileParam *) (my->specParam))->nVals = 0;
+
+       if((tmp = getenv("DAQSLOW_PARAM_FILE")) != NULL) {
+               paramFile = malloc(strlen(tmp) + 1);
+               strcpy(paramFile, tmp);
+       } else {
+               paramFile = malloc(strlen("param.tcl") + 1);
+               strcpy(paramFile, "param.tcl");
+       }
+
+       if((tmp = getenv("DAQSLOW_STORAGE_FILE")) != NULL) {
+               storageFile = malloc(strlen(tmp) + 1);
+               strcpy(storageFile, tmp);
+       } else {
+               storageFile = malloc(strlen("storage.tcl") + 1);
+               strcpy(storageFile, "storage.tcl");
+       }
+
+       if (NULL == (f = fopen(paramFile, "r"))) {
+               desParam(my);
+               return -1;
+       } else {
+               while(fgets(buf, 2 * (PARAM_MAX_NAME_LEN + 1), f) != NULL) {
+                       if (buf[0] != '#') {
+                               int items = 0;
+
+                               ((FileParam *) (my->specParam))->nVals++;
+                               ((FileParam *) (my->specParam))->pname = realloc(((FileParam *) (my->specParam))->pname, ((FileParam *) (my->specParam))->nVals * sizeof(char *));
+                               ((FileParam *) (my->specParam))->value = realloc(((FileParam *) (my->specParam))->value, ((FileParam *) (my->specParam))->nVals * sizeof(char *));
+                               ((FileParam *) (my->specParam))->pname[((FileParam *) (my->specParam))->nVals - 1] = malloc(2 * (PARAM_MAX_NAME_LEN + 1) * sizeof(char));
+                               ((FileParam *) (my->specParam))->value[((FileParam *) (my->specParam))->nVals - 1] = malloc(PARAM_MAX_VALUE_LEN * sizeof(char));
+                               items = sscanf(buf, "set%s %*[\"]%[^\"]\"",
+                                       ((FileParam *) (my->specParam))->pname[((FileParam *) (my->specParam))->nVals - 1],
+                                       ((FileParam *) (my->specParam))->value[((FileParam *) (my->specParam))->nVals - 1]
+                               );
+                               if (items != 2) {
+                                       items = sscanf(buf, "set%s%s",
+                                               ((FileParam *) (my->specParam))->pname[((FileParam *) (my->specParam))->nVals - 1],
+                                               ((FileParam *) (my->specParam))->value[((FileParam *) (my->specParam))->nVals - 1]
+                                       );
+                               }
+                               if (items != 2) {
+                                       free(((FileParam *) (my->specParam))->pname[((FileParam *) (my->specParam))->nVals - 1]);
+                                       free(((FileParam *) (my->specParam))->value[((FileParam *) (my->specParam))->nVals - 1]);
+                                       ((FileParam *) (my->specParam))->nVals--;
+                                       ((FileParam *) (my->specParam))->pname = realloc(((FileParam *) (my->specParam))->pname, ((FileParam *) (my->specParam))->nVals * sizeof(char *));
+                                       ((FileParam *) (my->specParam))->value = realloc(((FileParam *) (my->specParam))->value, ((FileParam *) (my->specParam))->nVals * sizeof(char *));
+                               }
+                       }
+               } 
+               fclose(f);
+       }
+
+       if (NULL == (((FileParam *) (my->specParam))->store = fopen(storageFile, "a+"))) {
+               return -1;
+       }
+
+       free(paramFile);
+       free(storageFile);
+
+       if(retVal == 0) {
+               my->basedir = malloc(PARAM_MAX_VALUE_LEN);
+               uname(buffer);
+               if(Param_getString(my, buffer->nodename, "basedir", &row, my->basedir) || (row != 1)) {
+                       if(Param_getString(my, "glob", "basedir", &row, my->basedir) || (row != 1)) {
+                               strcpy(my->basedir, "");
+                       }
                }
-               if (items != 2) {
-                   free(((FileParam *) (my->specParam))->
-                        pname[((FileParam *) (my->specParam))->nVals -
-                              1]);
-                   free(((FileParam *) (my->specParam))->
-                        value[((FileParam *) (my->specParam))->nVals -
-                              1]);
-                   ((FileParam *) (my->specParam))->nVals--;
-                   ((FileParam *) (my->specParam))->pname =
-                       realloc(((FileParam *) (my->specParam))->pname,
-                               ((FileParam *) (my->specParam))->nVals *
-                               sizeof(char *));
-                   ((FileParam *) (my->specParam))->value =
-                       realloc(((FileParam *) (my->specParam))->value,
-                               ((FileParam *) (my->specParam))->nVals *
-                               sizeof(char *));
+               if (strlen(my->basedir)) {
+                       strcat(my->basedir, "/");
                }
-           }
-       }
-       fclose(f);
-    }
-
-    if (NULL ==
-       (((FileParam *) (my->specParam))->store =
-        fopen(storageFile, "a+"))) {
-       return -1;
-    }
-
-    free(paramFile);
-    free(storageFile);
-
-    if (retVal == 0) {
-       my->basedir = malloc(PARAM_MAX_VALUE_LEN);
-       uname(buffer);
-       if (Param_getString
-           (my, buffer->nodename, "basedir", &row, my->basedir)
-           || (row != 1)) {
-           strcpy(my->basedir, "");
-       } else if (strlen(my->basedir)) {
-           strcat(my->basedir, "/");
+       } else {
+               my->basedir = NULL;
        }
-    }
 
-    return retVal;
+       return retVal;
 }
 
-void desParam(Param * my)
+void desParam(Param *my)
 {
-    int i;
-
-    for (i = 0; i < ((FileParam *) (my->specParam))->nVals; i++) {
-       free(((FileParam *) (my->specParam))->pname[i]);
-       free(((FileParam *) (my->specParam))->value[i]);
-    }
-    free(((FileParam *) (my->specParam))->pname);
-    free(((FileParam *) (my->specParam))->value);
-    free((FileParam *) (my->specParam));
-
-    fclose(((FileParam *) (my->specParam))->store);
-    free(my->basedir);
-    if (my->setup != NULL) {
-       free(my->setup);
-    }
+       int i;
+
+       for (i = 0 ; i < ((FileParam *) (my->specParam))->nVals ; i++) {
+               free(((FileParam *) (my->specParam))->pname[i]);
+               free(((FileParam *) (my->specParam))->value[i]);
+       }
+       free(((FileParam *) (my->specParam))->pname);
+       free(((FileParam *) (my->specParam))->value);
+       free((FileParam *) (my->specParam));
+
+       fclose(((FileParam *) (my->specParam))->store);
+       free(my->basedir);
+       if(my->setup != NULL) {
+               free(my->setup);
+       }
 }
 
-int
-Param_getInt(const Param * my, const char *name, const char *idx, int *row,
-            unsigned long int *val)
+int Param_getInt(const Param *my, const char *name, const char *idx, int *row, unsigned long int *val)
 {
-    return Param_getIntArray(my, name, idx, 1, row, val);
+       return Param_getIntArray(my, name, idx, 1, row, val);
 }
 
-int
-Param_getString(const Param * my, const char *name, const char *idx,
-               int *row, char *val)
+int Param_getString(const Param *my, const char *name, const char *idx, int *row, char *val)
 {
-    return Param_getStringArray(my, name, idx, 1, row, &val);
+       return Param_getStringArray(my, name, idx, 1, row, &val);
 }
 
-int
-Param_getFilename(const Param * my, const char *name, const char *idx,
-                 int *row, char *val)
+int Param_getFilename(const Param *my, const char *name, const char *idx, int *row, char *val)
 {
-    int retVal = 0;
-    int rows = 0;
-    char value[PARAM_MAX_VALUE_LEN];
-
-    if (((retVal = Param_getString(my, name, idx, &rows, value)) == 0)
-       && (rows == 1)) {
-       if (value[0] == '/') {
-           strcpy(val, value);
-           *row = 1;
+       int retVal = 0;
+       int rows = 0;
+       char value[PARAM_MAX_VALUE_LEN];
+
+       if (((retVal = Param_getString(my, name, idx, &rows, value)) == 0) && (rows == 1)) {
+               if (value[0] == '/') {
+                       strcpy(val, value);
+                       *row = 1;
+               } else {
+                       strcpy(val, my->basedir);
+                       strcat(val, value);
+                       *row = 1;
+               }
        } else {
-           strcpy(val, my->basedir);
-           strcat(val, value);
-           *row = 1;
+               *row = 0;
        }
-    } else {
-       *row = 0;
-    }
-    return retVal;
+       return retVal;
 }
 
-int
-Param_getIntArray(const Param * my, const char *name, const char *idx,
-                 int maxrows, int *rows, unsigned long int *val)
+int Param_getIntArray(const Param *my, const char *name, const char *idx, int maxrows, int *rows, unsigned long int *val)
 {
-    int retVal = 0;
-    int i;
-    char *endptr;
-    char *strval[PARAM_MAX_ARRAY_LEN];
-
-    for (i = 0; i < maxrows; i++) {
-       strval[i] = malloc(PARAM_MAX_VALUE_LEN * sizeof(char));
-    }
-    *rows = 0;
-    if ((retVal |=
-        Param_getStringArray(my, name, idx, maxrows, rows, strval)) == 0)
-    {
-       for (i = 0; i < *rows; i++) {
-           val[i] = strtoul(strval[i], &endptr, 0);
-           if (*endptr != '\0') {
-               *rows = 0;
-               retVal = -1;
-               Param_strerror((Param *) my,
-                              "Value seems to be no integer.");
-           }
+       int retVal = 0;
+       int i;
+       char *endptr;
+       char *strval[PARAM_MAX_ARRAY_LEN];
+
+       for (i = 0 ; i < maxrows ; i++) {
+               strval[i] = malloc(PARAM_MAX_VALUE_LEN * sizeof(char));
+       }
+       *rows = 0;
+       if((retVal |= Param_getStringArray(my, name, idx, maxrows, rows, strval)) == 0) {
+               for (i = 0 ; i < *rows ; i++) {
+                       val[i] = strtoul(strval[i], &endptr, 0);
+                       if (*endptr != '\0') {
+                               *rows = 0;
+                               retVal = -1;
+                               Param_strerror((Param *) my, "Value seems to be no integer.");
+                       }
+               }
+       }
+       for (i = 0 ; i < maxrows ; i++) {
+               free(strval[i]);
        }
-    }
-    for (i = 0; i < maxrows; i++) {
-       free(strval[i]);
-    }
-    return retVal;
+       return retVal;
 }
 
-int
-Param_getStringArray(const Param * my, const char *name, const char *idx,
-                    int maxrows, int *rows, char **val)
+int Param_getStringArray(const Param *my, const char *name, const char *idx, int maxrows, int *rows, char **val)
 {
-    int i;
-    int n = -2;
-    char lname[PARAM_MAX_NAME_LEN];
-    char lidx[PARAM_MAX_NAME_LEN];
-
-    for (i = 0; i <= strlen(name); i++) {
-       lname[i] = (char) tolower(name[i]);
-    }
-    for (i = 0; i <= strlen(idx); i++) {
-       lidx[i] = (char) tolower(idx[i]);
-    }
-
-    *rows = 0;
-    if ((n = Param_getParamNumber(my, lname, lidx)) != -1) {
-       strcpy(val[0], ((FileParam *) (my->specParam))->value[n]);
-       *rows = 1;
-    } else {
-       char index[PARAM_MAX_NAME_LEN];
-
-       n = -2;
-       for (i = 0; (i < maxrows) && (n != -1); i++) {
-           sprintf(index, "%s%d", lidx, i);
-           if ((n = Param_getParamNumber(my, lname, index)) != -1) {
-               strcpy(val[i], ((FileParam *) (my->specParam))->value[n]);
-               (*rows)++;
-           }
+       int i;
+       int n = -2;
+       char lname[PARAM_MAX_NAME_LEN];
+       char lidx[PARAM_MAX_NAME_LEN];
+
+       for(i = 0 ; i <=strlen(name) ; i++) {
+               lname[i] = (char) tolower(name[i]);
+       }
+       for(i = 0 ; i <=strlen(idx) ; i++) {
+               lidx[i] = (char) tolower(idx[i]);
+       }
+
+       *rows = 0;
+       if((n = Param_getParamNumber(my, lname, lidx)) != -1) {
+               strcpy(val[0], ((FileParam *) (my->specParam))->value[n]);
+               *rows = 1;
+       } else {
+               char index[PARAM_MAX_NAME_LEN];
+
+               n = -2;
+               for (i = 0 ; (i < maxrows) && (n != -1) ; i++) {
+                       sprintf(index,"%s%d", lidx, i);
+                       if((n = Param_getParamNumber(my, lname, index)) != -1) {
+                               strcpy(val[i], ((FileParam *) (my->specParam))->value[n]);
+                               (*rows)++;
+                       }
+               }
        }
-    }
-    return 0;
+       return 0;
 }
 
-int
-Param_getFilenameArray(const Param * my, const char *name, const char *idx,
-                      int maxrows, int *rows, char **val)
+int Param_getFilenameArray(const Param *my, const char *name, const char *idx, int maxrows, int *rows, char **val)
 {
-    int retVal = 0;
-    int i;
-    char *value[PARAM_MAX_ARRAY_LEN];
-
-    for (i = 0; i < maxrows; i++) {
-       value[i] = malloc(PARAM_MAX_VALUE_LEN);
-    }
-
-    if (((retVal =
-         Param_getStringArray(my, name, idx, maxrows, rows, value)) == 0)
-       && (*rows > 0)) {
-
-       for (i = 0; i < *rows; i++) {
-           if (value[i][0] != '/') {
-               strcpy(val[i], my->basedir);
-               strcat(val[i], value[i]);
-           } else {
-               strcpy(val[i], value[i]);
-           }
+       int retVal = 0;
+       int i;
+       char *value[PARAM_MAX_ARRAY_LEN];
+
+       for (i = 0 ; i < maxrows ; i++) {
+               value[i] = malloc(PARAM_MAX_VALUE_LEN);
        }
-    } else {
-       *rows = 0;
-    }
 
-    for (i = 0; i < maxrows; i++) {
-       free(value[i]);
-    }
+       if (((retVal = Param_getStringArray(my, name, idx, maxrows, rows, value)) == 0) && (*rows > 0)) {
+
+               for (i = 0 ; i < *rows ; i++) {
+                       if (value[i][0] != '/') {
+                               strcpy(val[i], my->basedir);
+                               strcat(val[i], value[i]);
+                       } else {
+                               strcpy(val[i], value[i]);
+                       }
+               }
+       } else {
+               *rows = 0;
+       }
 
-    return retVal;
+       for (i = 0 ; i < maxrows ; i++) {
+               free(value[i]);
+       }
+
+       return retVal;
 }
 
-int
-Param_getBlob(const Param * my, const char *name, const char *idx,
-             size_t * size, FILE ** val)
+int Param_getBlob(const Param *my, const char *name, const char *idx, size_t *size, FILE **val)
 {
-    int retVal = 0;
-    char filename[PARAM_MAX_VALUE_LEN];
-    int rows;
-    FILE *stream;
-
-    retVal = Param_getFilename(my, name, idx, &rows, filename);
-    if ((rows == 0) || (stream = fopen(filename, "r")) == NULL) {
-       Param_strerror((Param *) my, strerror(errno));
-       *size = 0;
-       retVal = -1;
-    } else {
-       struct stat fileS, *file = &fileS;
-       stat(filename, file);
-       *size = (size_t) file->st_size;
-       *val = stream;
-    }
-    return retVal;
+       int retVal = 0;
+       char filename[PARAM_MAX_VALUE_LEN];
+       int rows;
+       FILE *stream;
+
+       retVal = Param_getFilename(my, name, idx, &rows, filename);
+       if ((rows == 0) || (stream = fopen(filename, "r")) == NULL) {
+               Param_strerror((Param *) my, strerror(errno));
+               *size = 0;
+               retVal = -1;
+       } else {
+               struct stat fileS, *file = &fileS;
+               stat(filename, file);
+               *size = (size_t) file->st_size;
+               *val = stream;
+       }
+       return retVal;
 }
 
-int
-Param_storeInt(const Param * my, const char *name, const char *idx,
-              unsigned long int value)
+int Param_storeInt(const Param *my, const char *name, const char *idx, unsigned long int value)
 {
-    fprintf(((FileParam *) (my->specParam))->store, "set %s(%s)\t%lu\n",
-           name, idx, value);
-    fflush(((FileParam *) (my->specParam))->store);
-    ((FileParam *) (my->specParam))->nVals++;
-    ((FileParam *) (my->specParam))->pname =
-       realloc(((FileParam *) (my->specParam))->pname,
-               ((FileParam *) (my->specParam))->nVals * sizeof(char *));
-    ((FileParam *) (my->specParam))->value =
-       realloc(((FileParam *) (my->specParam))->value,
-               ((FileParam *) (my->specParam))->nVals * sizeof(char *));
-    ((FileParam *) (my->specParam))->
-       pname[((FileParam *) (my->specParam))->nVals - 1] =
-       malloc(2 * (PARAM_MAX_NAME_LEN + 1) * sizeof(char));
-    ((FileParam *) (my->specParam))->
-       value[((FileParam *) (my->specParam))->nVals - 1] =
-       malloc(PARAM_MAX_VALUE_LEN * sizeof(char));
-    sprintf(((FileParam *) (my->specParam))->
-           pname[((FileParam *) (my->specParam))->nVals - 1], "%s(%s)",
-           name, idx);
-    sprintf(((FileParam *) (my->specParam))->
-           value[((FileParam *) (my->specParam))->nVals - 1], "%lu",
-           value);
-    return 0;
+       fprintf(((FileParam *) (my->specParam))->store, "set %s(%s)\t%lu\n", name, idx, value);
+       fflush(((FileParam *) (my->specParam))->store);
+       ((FileParam *) (my->specParam))->nVals++;
+       ((FileParam *) (my->specParam))->pname = realloc(((FileParam *) (my->specParam))->pname, ((FileParam *) (my->specParam))->nVals * sizeof(char *));
+       ((FileParam *) (my->specParam))->value = realloc(((FileParam *) (my->specParam))->value, ((FileParam *) (my->specParam))->nVals * sizeof(char *));
+       ((FileParam *) (my->specParam))->pname[((FileParam *) (my->specParam))->nVals - 1] = malloc(2 * (PARAM_MAX_NAME_LEN + 1) * sizeof(char));
+       ((FileParam *) (my->specParam))->value[((FileParam *) (my->specParam))->nVals - 1] = malloc(PARAM_MAX_VALUE_LEN * sizeof(char));
+       sprintf(((FileParam *) (my->specParam))->pname[((FileParam *) (my->specParam))->nVals - 1], "%s(%s)", name, idx);
+       sprintf(((FileParam *) (my->specParam))->value[((FileParam *) (my->specParam))->nVals - 1], "%lu", value);
+       return 0;
 }
 
-int
-Param_storeString(const Param * my, const char *name, const char *idx,
-                 const char *value)
+int Param_storeString(const Param *my, const char *name, const char *idx, const char *value)
 {
-    fprintf(((FileParam *) (my->specParam))->store, "set %s(%s)\t\"%s\"\n",
-           name, idx, value);
-    fflush(((FileParam *) (my->specParam))->store);
-    ((FileParam *) (my->specParam))->nVals++;
-    ((FileParam *) (my->specParam))->pname =
-       realloc(((FileParam *) (my->specParam))->pname,
-               ((FileParam *) (my->specParam))->nVals * sizeof(char *));
-    ((FileParam *) (my->specParam))->value =
-       realloc(((FileParam *) (my->specParam))->value,
-               ((FileParam *) (my->specParam))->nVals * sizeof(char *));
-    ((FileParam *) (my->specParam))->
-       pname[((FileParam *) (my->specParam))->nVals - 1] =
-       malloc(2 * (PARAM_MAX_NAME_LEN + 1) * sizeof(char));
-    ((FileParam *) (my->specParam))->
-       value[((FileParam *) (my->specParam))->nVals - 1] =
-       malloc(PARAM_MAX_VALUE_LEN * sizeof(char));
-    sprintf(((FileParam *) (my->specParam))->
-           pname[((FileParam *) (my->specParam))->nVals - 1], "%s(%s)",
-           name, idx);
-    sprintf(((FileParam *) (my->specParam))->
-           value[((FileParam *) (my->specParam))->nVals - 1], "%s",
-           value);
-    return 0;
+       fprintf(((FileParam *) (my->specParam))->store, "set %s(%s)\t\"%s\"\n", name, idx, value);
+       fflush(((FileParam *) (my->specParam))->store);
+       ((FileParam *) (my->specParam))->nVals++;
+       ((FileParam *) (my->specParam))->pname = realloc(((FileParam *) (my->specParam))->pname, ((FileParam *) (my->specParam))->nVals * sizeof(char *));
+       ((FileParam *) (my->specParam))->value = realloc(((FileParam *) (my->specParam))->value, ((FileParam *) (my->specParam))->nVals * sizeof(char *));
+       ((FileParam *) (my->specParam))->pname[((FileParam *) (my->specParam))->nVals - 1] = malloc(2 * (PARAM_MAX_NAME_LEN + 1) * sizeof(char));
+       ((FileParam *) (my->specParam))->value[((FileParam *) (my->specParam))->nVals - 1] = malloc(PARAM_MAX_VALUE_LEN * sizeof(char));
+       sprintf(((FileParam *) (my->specParam))->pname[((FileParam *) (my->specParam))->nVals - 1], "%s(%s)", name, idx);
+       sprintf(((FileParam *) (my->specParam))->value[((FileParam *) (my->specParam))->nVals - 1], "%s", value);
+       return 0;
 }
 
-void Param_clearCache(const Param * my)
+void Param_clearCache(const Param *my)
 {
 }
 
-const char *Param_getErrStr(const Param * my)
+const char *Param_getErrStr(const Param *my)
 {
-    return my->strerror;
+       return my->strerror;
 }
 
-static int
-Param_getParamNumber(const Param * my, const char *name, const char *idx)
+static int Param_getParamNumber(const Param *my, const char *name, const char *idx)
 {
-    int retVal = -1;
-    int i;
-    char fullName[2 * (PARAM_MAX_NAME_LEN + 1)];
-
-    sprintf(fullName, "%s(%s)", name, idx);
-    for (i = 0; i < ((FileParam *) (my->specParam))->nVals; i++) {
-       if (strcmp(((FileParam *) (my->specParam))->pname[i], fullName) ==
-           0) {
-           retVal = i;
+       int retVal = -1;
+       int i;
+       char fullName[2 * (PARAM_MAX_NAME_LEN + 1)];
+
+       sprintf(fullName, "%s(%s)", name, idx);
+       for (i = 0; i < ((FileParam *) (my->specParam))->nVals; i++) {
+               if (strcmp(((FileParam *) (my->specParam))->pname[i], fullName) == 0) {
+                       retVal = i;
+               }
        }
-    }
-    return retVal;
+       return retVal;
 }
 
-static void Param_strerror(Param * my, const char *strerror)
+static void Param_strerror(Param *my, const char *strerror)
 {
-    my->strerror = realloc(my->strerror, strlen(strerror) + 1);
-    if (my->strerror != NULL) {
-       strcpy(my->strerror, strerror);
-    }
+       my->strerror = realloc(my->strerror, strlen(strerror) + 1);
+       if(my->strerror != NULL) {
+               strcpy(my->strerror, strerror);
+       }
 }
+
index 0f3a9486f1d9a0b220e6da23b026db7c5d37afed..35578f56024290bb55a18125912f15e2433a6695 100644 (file)
@@ -1,4 +1,4 @@
-static const char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/allParam/ora/oraParam.pc,v 1.28 2003-01-31 16:40:18 hadaq Exp $";
+static const char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/allParam/ora/oraParam.pc,v 1.29 2003-02-05 13:17:59 hadaq Exp $";
 #define _POSIX_C_SOURCE 199509L
 
 #if HAVE_CONFIG_H
@@ -55,8 +55,11 @@ int conSetupParam(Param *my, const char *setup)
        my->basedir = malloc(PARAM_MAX_VALUE_LEN);
        uname(buffer);
        if(Param_getString(my, buffer->nodename, "basedir", &row, my->basedir) || (row != 1)) {
-               strcpy(my->basedir, "");
-       } else if (strlen(my->basedir)) {
+               if(Param_getString(my, "glob", "basedir", &row, my->basedir) || (row != 1)) {
+                       strcpy(my->basedir, "");
+               }
+       }
+       if (strlen(my->basedir)) {
                strcat(my->basedir, "/");
        }
 
index df1c994773cb66008870b4b50fceac8852a8f4aa..97c29b1db153e352208dc89e00644e2942b95b23 100644 (file)
@@ -1,4 +1,4 @@
-static const char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/allParam/tcl/tclParam.c,v 1.24 2003-02-05 11:44:16 hadaq Exp $";
+static const char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/allParam/tcl/tclParam.c,v 1.25 2003-02-05 13:17:59 hadaq Exp $";
 #define _POSIX_C_SOURCE 199509L
 
 #if HAVE_CONFIG_H
@@ -68,8 +68,11 @@ int conSetupParam(Param *my, const char *setup)
                my->basedir = malloc(PARAM_MAX_VALUE_LEN);
                uname(buffer);
                if(Param_getString(my, buffer->nodename, "basedir", &row, my->basedir) || (row != 1)) {
-                       strcpy(my->basedir, "");
-               } else if (strlen(my->basedir)) {
+                       if(Param_getString(my, "glob", "basedir", &row, my->basedir) || (row != 1)) {
+                               strcpy(my->basedir, "");
+                       }
+               }
+               if (strlen(my->basedir)) {
                        strcat(my->basedir, "/");
                }
        } else {
@@ -123,8 +126,11 @@ int conParam(Param *my)
                my->basedir = malloc(PARAM_MAX_VALUE_LEN);
                uname(buffer);
                if(Param_getString(my, buffer->nodename, "basedir", &row, my->basedir) || (row != 1)) {
-                       strcpy(my->basedir, "");
-               } else if (strlen(my->basedir)) {
+                       if(Param_getString(my, "glob", "basedir", &row, my->basedir) || (row != 1)) {
+                               strcpy(my->basedir, "");
+                       }
+               }
+               if (strlen(my->basedir)) {
                        strcat(my->basedir, "/");
                }
        } else {