# HG changeset patch # User František Kučera # Date 1606406929 -3600 # Node ID 967f73af64a4020e9da6f171b1905f191bf0db84 # Parent a8c1381ef103ccce6424f63e9155a3a39cc102b1 start event numbers with 1 diff -r a8c1381ef103 -r 967f73af64a4 src/lib/INIReader.cpp --- a/src/lib/INIReader.cpp Thu Nov 26 11:41:55 2020 +0100 +++ b/src/lib/INIReader.cpp Thu Nov 26 17:08:49 2020 +0100 @@ -196,10 +196,10 @@ while (input.good()) { // TODO: condition { + INIContentHandler::WhitespaceEvent event; + event.lineNumber = lineNumber; std::string whitespace = readAllWhitespace(); if (whitespace.size()) { - INIContentHandler::WhitespaceEvent event; - event.lineNumber = lineNumber; event.eventNumber = ++eventNumber; event.whitespace = whitespace; for (INIContentHandler* handler : handlers) handler->whitespace(event); @@ -216,11 +216,11 @@ } else if (ch == '[') { if (inSection) for (INIContentHandler* handler : handlers) handler->endSection(); inSection = true; - get(); - readAllWhitespace(); INIContentHandler::SectionStartEvent event; event.lineNumber = lineNumber; event.eventNumber = ++eventNumber; + get(); + readAllWhitespace(); event.name = readTokenAndEatTerminator(']', "e, &found); readSpacesAndTabs(); @@ -243,14 +243,18 @@ for (INIContentHandler* handler : handlers) handler->startSection(event); } else if (isComment(ch)) { - get(); - readSpacesAndTabs(); INIContentHandler::CommentEvent event; event.lineNumber = lineNumber; event.eventNumber = ++eventNumber; + get(); + readSpacesAndTabs(); event.comment = readUntil('\n', &found); for (INIContentHandler* handler : handlers) handler->comment(event); } else { + INIContentHandler::EntryEvent event; + event.lineNumber = lineNumber; + event.eventNumber = ++eventNumber; + std::string fullKey = readToken('=', "e, &found); if (!found) throw std::logic_error(std::string("missing = after key: '") + fullKey + "'"); if (!quote) fullKey = trim(fullKey); @@ -265,9 +269,6 @@ std::string value = readToken('\n', "e, &found); if (!quote) value = trim(value); - INIContentHandler::EntryEvent event; - event.lineNumber = lineNumber; - event.eventNumber = ++eventNumber; event.key = fullKey; event.fullKey = fullKey; event.value = value;