]> jspc29.x-matter.uni-frankfurt.de Git - daqdata.git/commitdiff
*** empty log message ***
authorhades <hades>
Thu, 31 Aug 2000 15:31:43 +0000 (15:31 +0000)
committerhades <hades>
Thu, 31 Aug 2000 15:31:43 +0000 (15:31 +0000)
allParam/ora/oraParam.pc

index b56f033fbae0f8f77d1700d70d7189ade372c8c8..0c3629b9e64a4bee41a00abdb71cf1a72a926781 100644 (file)
@@ -35,14 +35,22 @@ int Param_getIntArray(const Param *my, const char *name, const char *idx, int ma
        int i;
        char *endptr;
        EXEC SQL BEGIN DECLARE SECTION;
-       char value[PARAM_MAX_VALUE_LEN][PARAM_MAX_NVALS];
+       char *value[PARAM_MAX_NVALS];
        char sqlname[PARAM_MAX_NAME_LEN];
        char sqlidx[PARAM_MAX_NAME_LEN];
        EXEC SQL END DECLARE SECTION;
-       strcpy(sqlname, name);
-       strcpy(sqlidx, idx);
+       for(i = 0 ; i < PARAM_MAX_NVALS ; i++) {
+               value[i] = malloc(PARAM_MAX_VALUE_LEN * sizeof(char));
+       }
+       for (i = 0 ; i <= strlen(name) ; i++) {
+               sqlname[i] = tolower(name[i]);
+       }
+       for (i = 0 ; i <= strlen(idx) ; i++) {
+               sqlidx[i] = tolower(idx[i]);
+       }
+
        EXEC SQL WHENEVER SQLERROR DO Param_strerror(my, "Some Oracle error occured.\n");
-       EXEC SQL SELECT VALUE INTO :value FROM daq.params WHERE NAME = :sqlname AND IDX = :sqlidx ORDER BY SEQ_NUM;
+       EXEC SQL SELECT VALUE INTO :value FROM daq.params WHERE NAME = ':sqlname' AND IDX = ':sqlidx' ORDER BY SEQ_NUM;
        *rows = sqlca.sqlerrd[2];
 
        if (*rows > maxrows) {
@@ -67,7 +75,11 @@ int Param_getIntArray(const Param *my, const char *name, const char *idx, int ma
                        val[i] = 0;
                }
        }
-               retVal = 0;
+
+       for(i = 0 ; i < PARAM_MAX_NVALS ; i++) {
+               free(value[i]);
+       }
+       retVal = 0;
 }
 
 int Param_getStringArray(const Param *my, const char *name, const char *idx, int maxrows, int *rows, char **val)
@@ -75,14 +87,22 @@ int Param_getStringArray(const Param *my, const char *name, const char *idx, int
        int retVal;
        int i;
        EXEC SQL BEGIN DECLARE SECTION;
-       char value[PARAM_MAX_VALUE_LEN][PARAM_MAX_NVALS];
+       char *value[PARAM_MAX_NVALS];
        char sqlname[PARAM_MAX_NAME_LEN];
        char sqlidx[PARAM_MAX_NAME_LEN];
        EXEC SQL END DECLARE SECTION;
-       strcpy(sqlname, name);
-       strcpy(sqlidx, idx);
+       for(i = 0 ; i < PARAM_MAX_NVALS ; i++) {
+               value[i] = malloc(PARAM_MAX_VALUE_LEN * sizeof(char));
+       }
+       for (i = 0 ; i <= strlen(name) ; i++) {
+               sqlname[i] = tolower(name[i]);
+       }
+       for (i = 0 ; i <= strlen(idx) ; i++) {
+               sqlidx[i] = tolower(idx[i]);
+       }
+
        EXEC SQL WHENEVER SQLERROR DO Param_strerror(my, "Some Oracle error occured.\n");
-       EXEC SQL SELECT VALUE INTO :value FROM daq.params WHERE NAME = :sqlname AND IDX = :sqlidx ORDER BY SEQ_NUM;
+       EXEC SQL SELECT VALUE INTO :value FROM daq.params WHERE NAME = ':sqlname' AND IDX = ':sqlidx' ORDER BY SEQ_NUM;
        *rows = sqlca.sqlerrd[2];
 
        if (*rows > maxrows) {
@@ -101,6 +121,9 @@ int Param_getStringArray(const Param *my, const char *name, const char *idx, int
                retVal = 0;
        }
 
+       for(i = 0 ; i < PARAM_MAX_NVALS ; i++) {
+               free(value[i]);
+       }
        return retVal;
 }