]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/parser.cpp
More resiliece against certain corner cases when direct loading
[libs/datafile.git] / source / parser.cpp
index 9ad70d8742884bfdfa40d5bebbc467b9e289afe7..a9bbbf22fe8ccb52cf8a60ede5d914f581fdcf04 100644 (file)
@@ -88,7 +88,7 @@ void Parser::process_control_statement(const Statement &st)
 
 const StatementKey *Parser::peek(unsigned level)
 {
-       while(1)
+       while(good)
        {
                const StatementKey *key = mode->peek(level);
                if(key && !key->keyword.compare(0, 2, "__"))
@@ -96,6 +96,8 @@ const StatementKey *Parser::peek(unsigned level)
                else
                        return key;
        }
+
+       return 0;
 }
 
 bool Parser::parse_and_load(unsigned level, Loader &ldr, const LoaderAction &act)