#define _POSIX_C_SOURCE 199509L
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+
+#include <hadesstd.h>
+
#include "param.h"
#define BUFFERSIZE 130
int conParam(Param *my)
{
int i = 0;
- char fileName[PARAM_MAX_NAME_LEN];
+ char *fileName;
FILE *f;
char buf[BUFFERSIZE];
- strcpy(fileName, fn);
+ fileName = getenv("DAQSLOW_PARAM_FILE");
if (fileName == NULL) {
- strcmp(fileName, "param.tcl");
+ strcpy(fileName, "param.tcl");
}
if (NULL == (f = fopen(fileName, "r"))) {
msglog(LOG_ERR, "opening param file: %s\n", strerror(errno));
{
}
-int Param_getParamNumber(const Param *my, const char *name, const char *idx, int num)
+int Param_getParamNumber(const Param *my, const char *name, const char *idx)
{
int retVal = -1;
int i;
char fullName[PARAM_MAX_NAME_LEN];
- if (num == -1) {
- sprintf(fullName, "%s(%s)", name, idx);
- } else {
- sprintf(fullName, "%s(%s%d)", name, idx, num);
- }
+ sprintf(fullName, "%s(%s)", name, idx);
for (i = 0; i < my->nVals; i++) {
if (strcmp(my->pname[i], fullName) == 0) {
retVal = i;
return retVal;
}
-int Param_getInt(const Param *my, const char *name, const char *idx, int *val)
+int Param_getInt(const Param *my, const char *name, const char *idx, unsigned long int *val)
{
int status;
char valstr[PARAM_MAX_VALUE_LEN];
int Param_getString(const Param *my, const char *name, const char *idx, char *val)
{
int n;
- n = Param_getParamNumber(name, index, num);
+ n = Param_getParamNumber(my, name, idx);
if (n == -1) {
msglog(LOG_WARNING, "Parameter %s(%s) not found, returning NULL-pointer.\n", name, idx);
return 0;
} else {
- strcpy(val[i], my->value[n]);
+ strcpy(val, my->value[n]);
}
return 1;
}
-int Param_getIntArray(const Param *my, const char *name, const char *idx, int num, int *val)
+int Param_getIntArray(const Param *my, const char *name, const char *idx, int num, unsigned long int *val)
{
int status;
int tmp;
+ int i;
char index[PARAM_MAX_NAME_LEN];
- for (int i = 0 ; i < num ; i++) {
+ for (i = 0 ; i < num ; i++) {
sprintf(index,"%s%d", idx, i);
- if ((tmp = Param_getInt(my, name, index, val[i]) == 1) && (status >= 0)) {
+ if ((tmp = Param_getInt(my, name, index, val + i) == 1) && (status >= 0)) {
status++;
} else {
status = tmp;
{
int status;
int tmp;
+ int i;
char index[PARAM_MAX_NAME_LEN];
- for (int i = 0 ; i < num ; i++) {
+ for (i = 0 ; i < num ; i++) {
sprintf(index,"%s%d", idx, i);
if ((tmp = Param_getString(my, name, index, val[i]) == 1) && (status >= 0)) {
status++;