Description
Currently the logic used to read in the statements from the input file is as follows:
while (std::getline(ifs, curline).good() && !ifs.eof()) { |
if (!curline.empty()) { |
m_queries.push_back(curline);
|
}
|
}
|
The problem with this logic is that it REQUIRES a newline at the end of the file to read in all statements. While technically this is true of every program (https://stackoverflow.com/questions/729692/why-should-text-files-end-with-a-newline), in practice people expect programs to be able to handle files with a newline at the end and without.
Instead we probably need to move the check for !ifs.eof() to within the while loop.
We may also require some additional processing to remove the trailing char received from getline().