diff --git a/src/app/CFGFileParser.cpp b/src/app/CFGFileParser.cpp index c6c611f..e6ee7a6 100644 --- a/src/app/CFGFileParser.cpp +++ b/src/app/CFGFileParser.cpp @@ -1,6 +1,6 @@ #include "CFGFileParser.h" -CFGFileParser::CFGFileParser(SDCardManager &sdCardManager, const char *file):AbstractParser(file), _state(INIT), _type(PARAMETER), _quotedParameter(false), _quotedValue(false), _sdCardManager(sdCardManager) +CFGFileParser::CFGFileParser(SDCardManager &sdCardManager, const char *file):AbstractParser(file), _state(LINE_BREAK), _type(PARAMETER), _quotedParameter(false), _quotedValue(false), _sdCardManager(sdCardManager) { } @@ -22,7 +22,7 @@ void *CFGFileParser::parseFile() return NULL; } - _state = INIT; + _state = LINE_BREAK; while(file.available()) { readChar = (char)file.read(); @@ -30,24 +30,6 @@ void *CFGFileParser::parseFile() //Do work switch(_state) { - case INIT: - if(readChar == '#') _state = COMMENT_SECTION; - else if((readChar >= 65 && readChar <= 90) || (readChar >= 97 && readChar <= 122) || (readChar >= 48 && readChar <= 57)) - { - _state = PARAM_SECTION; - parsedParameter = addChar(parsedParameter, readChar); - if(parsedParameter == NULL) - _state = ERROR; - //printf("%c",readChar); - } - else if(readChar == '\'') - { - _state = OPENING_QUOTE; - _type = PARAMETER; - } - else - _state = ERROR; - break; case COMMENT_SECTION: if(readChar == '\r' || readChar == '\n') _state = LINE_BREAK; break; @@ -55,7 +37,7 @@ void *CFGFileParser::parseFile() if(readChar == '#') _state = COMMENT_SECTION; else if(readChar == '\r' || readChar == '\n') _state = LINE_BREAK; - else if((readChar >= 65 && readChar <= 90) || (readChar >= 97 && readChar <= 122) || (readChar >= 48 && readChar <= 57)) + else if((readChar >= 65 && readChar <= 90) || (readChar >= 97 && readChar <= 122) || (readChar >= 48 && readChar <= 57) || readChar == '-' || readChar == '_') { _state = PARAM_SECTION; //printf("%c",readChar); @@ -89,7 +71,7 @@ void *CFGFileParser::parseFile() } } else if(readChar == ' ') _state = PARAM_SECTION; - else if((readChar >= 65 && readChar <= 90) || (readChar >= 97 && readChar <= 122) || readChar == '_' || (readChar >= 48 && readChar <= 57)) + else if((readChar >= 65 && readChar <= 90) || (readChar >= 97 && readChar <= 122) || readChar == '_' || readChar == '-' || (readChar >= 48 && readChar <= 57)) { if(_type == PARAMETER) { @@ -117,7 +99,7 @@ void *CFGFileParser::parseFile() else _quotedValue = true; } - else if((readChar >= 65 && readChar <= 90) || (readChar >= 97 && readChar <= 122) || readChar == ' ' || readChar == '_' || (readChar >= 48 && readChar <= 57)) + else if((readChar >= 65 && readChar <= 90) || (readChar >= 97 && readChar <= 122) || readChar == ' ' || readChar == '_' || readChar == '-' || (readChar >= 48 && readChar <= 57)) { //printf("%c",readChar); if(_type == PARAMETER) @@ -140,7 +122,7 @@ void *CFGFileParser::parseFile() _type = VALUE; if(readChar == '\'')_state = OPENING_QUOTE; else if(readChar == ' ') _state = PARAM_SECTION; - else if((readChar >= 65 && readChar <= 90) || (readChar >= 97 && readChar <= 122) || (readChar >= 48 && readChar <= 57)) + else if((readChar >= 65 && readChar <= 90) || (readChar >= 97 && readChar <= 122) || (readChar >= 48 && readChar <= 57) || readChar == '-' || readChar == '_') { _state = PARAM_SECTION;