diff --git a/src/config/Tokenizer.hpp b/src/config/Tokenizer.hpp index 76acd5e..6efb75b 100644 --- a/src/config/Tokenizer.hpp +++ b/src/config/Tokenizer.hpp @@ -144,10 +144,39 @@ namespace config file.get(c); } } - else if (c == '[') - token.type = ARR_OPEN; else if (c == ']') - token.type = ARR_CLOSE; + { + std::streampos prev_pos = file.tellg(); + file.get(c); + if (c == ']') + { + token.type = MAPARRAY_CLOSE; + } + else + { + token.type = ARR_CLOSE; + file.seekg(prev_pos); + } + } + else if (c == '[') + { + std::streampos prev_pos = file.tellg(); + file.get(c); + if (c == '[') + { + token.type = MAPARRAY_OPEN; + } + else + { + token.type = ARR_OPEN; + file.seekg(prev_pos); + } + + } + /* else if (c == '[') */ + /* token.type = ARR_OPEN; */ + /* else if (c == ']') */ + /* token.type = ARR_CLOSE; */ else if (c == '=') token.type = ASSIGN; else if (c == '\n')