+++ /dev/null
-#define _POSIX_C_SOURCE 199509L
-
-extern "C" {
- #include <errno.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-
- #include <hadesstd.h>
-}
-
-#include "fileParam.h"
-
-FileParam::FileParam(const char *fn) : Param()
-{
- int i = 0;
- char fileName[PARAM_MAXNAMELEN];
- FILE *f;
- char buf[BUFFERSIZE];
-
- strcpy(fileName, fn);
- if (fileName == NULL) {
- strcmp(fileName, "param.tcl");
- }
- if (NULL == (f = fopen(fileName, "r"))) {
- msglog(LOG_ERR, "opening param file: %s\n", strerror(errno));
- exit (-1);
- } else {
- int oneMore = 1;
- overFullParamFile = 0;
- while (oneMore) {
- oneMore = 0;
- if (i < PARAM_MAXNVALS) {
- if (fgets(buf, BUFFERSIZE, f) != NULL) {
- oneMore = 1;
- }
- if (oneMore && (buf[0] != '#')) {
- sscanf(buf, "set%s%s", name[i], val[i]);
- i++;
- }
- } else {
- oneMore = 0;
- msglog(LOG_WARNING, "Too many parameters in file, ignoring the rest.\n");
- overFullParamFile = 1;
- }
- }
- nVals = i;
- fclose(f);
- }
-}
-
-FileParam::~FileParam()
-{
-}
-
-int FileParam::getParamNumber(const char *n, const char *idx) const
-{
- int retVal = -1;
- int i;
- char fullName[PARAM_MAXNAMELEN];
-
- sprintf(fullName, "%s(%s)", n, idx);
- for (i = 0; i < PARAM_MAXNVALS; i++) {
- if (strcmp(name[i], fullName) == 0) {
- retVal = i;
- }
- }
- return retVal;
-}
-
-int FileParam::isInteger(const char *n, const char *idx) const
-{
- int retVal = 0;
- char *endptr;
- int num = getParamNumber(n, idx);
- strtoul(val[num], &endptr, 0);
- if (*endptr == '\0') {
- retVal = 1;
- }
-
- return retVal;
-}
-
-int FileParam::doesExistHere(const char *n, const char *idx) const
-{
- int retVal = 1;
- if(getParamNumber(n, idx) == -1) {
- retVal = 0;
- }
- return retVal;
-}
-
-const char *FileParam::getString(const char *n, const char *idx) const
-{
- int num = getParamNumber(n, idx);
- if (num == -1) {
- msglog(LOG_WARNING, "Parameter %s(%s) not found, null pointer returned.\n", n, idx);
- return NULL;
- } else {
- return val[num];
- }
-}
-
-unsigned long int FileParam::getInt(const char *n, const char *idx) const
-{
- int num = getParamNumber(n, idx);
- if (num == -1) {
- msglog(LOG_WARNING, "Parameter %s(%s) not found, 0 returned.\n", name, idx);
- return 0;
- } else {
- return strtoul(val[num], NULL, 0);
- }
-}
-