From 6261ef058b2a47880217606547e48069fe2c146c Mon Sep 17 00:00:00 2001 From: mattijs Date: Mon, 25 Oct 2010 12:22:25 +0100 Subject: [PATCH] ENH: setSet : proper exit upon eof --- .../mesh/manipulation/setSet/setSet.C | 27 ++++++++++++++----- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/applications/utilities/mesh/manipulation/setSet/setSet.C b/applications/utilities/mesh/manipulation/setSet/setSet.C index 7b204e984f..117d5283a5 100644 --- a/applications/utilities/mesh/manipulation/setSet/setSet.C +++ b/applications/utilities/mesh/manipulation/setSet/setSet.C @@ -934,18 +934,31 @@ int main(int argc, char *argv[]) { char* linePtr = readline("readline>"); - rawLine = string(linePtr); - - if (*linePtr) + if (linePtr) { - add_history(linePtr); - write_history(historyFile); - } + rawLine = string(linePtr); - free(linePtr); // readline uses malloc, not new. + if (*linePtr) + { + add_history(linePtr); + write_history(historyFile); + } + + free(linePtr); // readline uses malloc, not new. + } + else + { + break; + } } # else { + if (!std::cin.good()) + { + Info<< "End of cin" << endl; + // No error. + break; + } Info<< "Command>" << flush; std::getline(std::cin, rawLine); }