summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main.cc8
-rw-r--r--src/textual.cc11
2 files changed, 14 insertions, 5 deletions
diff --git a/src/main.cc b/src/main.cc
index 736893a4..9a1e903e 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -133,8 +133,12 @@ int main(int argc, char * argv[], char * envp[])
}
catch (const std::exception& err) {
std::cout.flush(); // first display anything that was pending
- std::cerr << error_context() << std::endl
- << "Error: " << err.what() << std::endl;
+
+ string context = error_context();
+ if (! context.empty())
+ std::cerr << context << std::endl;
+
+ std::cerr << "Error: " << err.what() << std::endl;
}
catch (int _status) {
status = _status; // used for a "quick" exit, and is used only
diff --git a/src/textual.cc b/src/textual.cc
index 1be5d4d8..ccce02ea 100644
--- a/src/textual.cc
+++ b/src/textual.cc
@@ -208,9 +208,14 @@ void textual_parser_t::instance_t::parse()
add_error_context("While parsing file "
<< file_context(pathname, linenum - 1));
- std::cerr << error_context() << std::endl
- << current_context << std::endl
- << "Error: " << err.what() << std::endl;
+ string context = error_context();
+ if (! context.empty())
+ std::cerr << context << std::endl;
+
+ if (! current_context.empty())
+ std::cerr << current_context << std::endl;
+
+ std::cerr << "Error: " << err.what() << std::endl;
errors++;
}
}