From 9dc1343bda0592f2d27bb216eb21fdec97f73945 Mon Sep 17 00:00:00 2001 From: peterbell10 Date: Tue, 11 Jun 2019 13:39:44 +0100 Subject: Ignore whitespace only lines in brewing and furnace recipes (#4332) --- src/FurnaceRecipe.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'src/FurnaceRecipe.cpp') diff --git a/src/FurnaceRecipe.cpp b/src/FurnaceRecipe.cpp index a4647b7a0..3b3141418 100644 --- a/src/FurnaceRecipe.cpp +++ b/src/FurnaceRecipe.cpp @@ -68,14 +68,6 @@ void cFurnaceRecipe::ReloadRecipes(void) while (std::getline(f, ParsingLine)) { LineNum++; - if (ParsingLine.empty()) - { - // There is a problem here on Android. Text files transferred from another OS may have a newline representation Android's implementation of getline doesn't expect - // Thus, part of a newline may be left in ParsingLine. ::empty() thus thinks the string isn't empty, and the below code outputs interesting errors since it was passed a nearly empty string - // Ref: https://stackoverflow.com/questions/6089231/getting-std-ifstream-to-handle-lf-cr-and-crlf - // TODO: There is a solution in the above reference, but it isn't very pretty. Fix it somehow. - continue; - } // Remove comments from the line: size_t FirstCommentSymbol = ParsingLine.find('#'); @@ -84,6 +76,12 @@ void cFurnaceRecipe::ReloadRecipes(void) ParsingLine.erase(ParsingLine.begin() + static_cast(FirstCommentSymbol), ParsingLine.end()); } + if (IsOnlyWhitespace(ParsingLine)) + { + // Ignore empty and whitespace only lines + continue; + } + switch (ParsingLine[0]) { case '#': -- cgit v1.2.3