Removed useless INIT state that was the same as the LINE_BREAK state and added the - character as allowed for parameters and values
This commit is contained in:
parent
5225520669
commit
5fd0675044
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user