summaryrefslogtreecommitdiff
path: root/covoar/ConfigFile.cc
diff options
context:
space:
mode:
Diffstat (limited to 'covoar/ConfigFile.cc')
-rw-r--r--covoar/ConfigFile.cc196
1 files changed, 0 insertions, 196 deletions
diff --git a/covoar/ConfigFile.cc b/covoar/ConfigFile.cc
deleted file mode 100644
index ccfc00a..0000000
--- a/covoar/ConfigFile.cc
+++ /dev/null
@@ -1,196 +0,0 @@
-
-/*! @file ConfigFile.cc
- * @brief ConfigFile Implementation
- *
- * This file contains the implementation of the FileReader class.
- */
-
-#include "ConfigFile.h"
-#include <string.h>
-#include <stdio.h>
-#include <ctype.h>
-
-namespace Configuration {
-
- FileReader::FileReader(
- Options_t *options
- )
- {
- options_m = options;
- }
-
- FileReader::~FileReader()
- {
- }
-
- bool FileReader::processFile(
- const char* const file
- )
- {
- #define METHOD "FileReader::processFile - "
- FILE * in;
- char line[256];
- char option[256];
- char value[256];
- int line_no;
- int i;
- int j;
-
- if ( file == NULL ) {
- fprintf( stderr, METHOD "NULL filename\n" );
- return false;
- }
-
- in = fopen( file, "r" );
- if ( !in ) {
- fprintf( stderr, METHOD "unable to open %s\n", file );
- return false;
- }
-
- line_no = 0;
- while (fgets(line, sizeof(line), in) != NULL) {
- int length;
-
- line_no++;
-
- length = (int) strlen( line );
- if ( line[length - 1] != '\n' ) {
- fprintf(
- stderr,
- "%s: line %d is too long",
- file,
- line_no
- );
- continue;
- }
-
- line[length - 1] = '\0';
- length--;
-
- /*
- * Strip off comments at end of line
- *
- * LHS = RHS # comment
- */
- for (i=0 ; i<length ; i++ ) {
- if ( line[i] == '#' ) {
- line[i] = '\0';
- length = i;
- break;
- }
- }
-
- /*
- * Strip off trailing white space
- */
- for (i=length-1 ; i>=0 && isspace(line[i]) ; i-- )
- ;
-
- line[i+1] = '\0';
- length = i+1;
-
- /* Ignore empty lines. We have stripped
- * all comments and blanks therefore, only
- * an empty string needs to be checked.
- */
- if (line[0] == '\0')
- continue;
-
- if (sscanf(line, "%s", option) != 1) {
- fprintf(
- stderr,
- "%s: line %d is invalid: %s\n",
- file,
- line_no,
- line
- );
- continue;
- }
-
- for (i=0; ((line[i] != '=') && (i<length)); i++)
- ;
-
- if (i == length) {
- fprintf(
- stderr,
- "%s: line %d is invalid: %s\n",
- file,
- line_no,
- line
- );
- continue;
- }
-
- i++;
- value[0] = '\0';
- while ( isspace(line[i]) )
- i++;
- for (j=0; line[i] != '\0'; i++, j++ )
- value[j] = line[i];
- value[j] = '\0';
- if (value[0] == '\0') {
- fprintf(
- stderr,
- "%s: line %d is invalid: %s\n",
- file,
- line_no,
- line
- );
- continue;
- }
-
- if ( !setOption(option, value) ) {
- fprintf(
- stderr,
- "%s: line %d: option %s is unknown\n",
- file,
- line_no,
- option
- );
- continue;
- }
-
- }
-
- return false;
- }
-
- bool FileReader::setOption(
- const char* const option,
- const char* const value
- )
- {
- Options_t *o;
-
- for ( o=options_m ; o->option ; o++ ) {
- if ( !strcmp( o->option, option ) ) {
- o->value = strdup( value );
- return true;
- }
- }
- return false;
- }
-
- const char *FileReader::getOption(
- const char* const option
- )
- {
- Options_t *o;
-
- for ( o=options_m ; o->option ; o++ ) {
- if ( !strcmp( o->option, option ) ) {
- return o->value;
- }
- }
- return NULL;
- }
-
- void FileReader::printOptions(void)
- {
- Options_t *o;
-
- for ( o=options_m ; o->option ; o++ ) {
- fprintf( stderr, "(%s)=(%s)\n", o->option, o->value );
- }
- }
-}