summaryrefslogtreecommitdiff
path: root/src/anytun-showtables.cpp
diff options
context:
space:
mode:
authorOthmar Gsenger <otti@anytun.org>2008-12-30 17:54:27 +0000
committerOthmar Gsenger <otti@anytun.org>2008-12-30 17:54:27 +0000
commitcdb625523d26190c4000f61fa506f3865ccdcf2a (patch)
tree8534906aef0e18fc18dc0168a0a21bd6c6b0e656 /src/anytun-showtables.cpp
parentsync race condition work-arround (needs better fix!) (diff)
catch exception from anytun-showtables if no/wrong input
Diffstat (limited to 'src/anytun-showtables.cpp')
-rw-r--r--src/anytun-showtables.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/anytun-showtables.cpp b/src/anytun-showtables.cpp
index 0ba8bdb..5d061d6 100644
--- a/src/anytun-showtables.cpp
+++ b/src/anytun-showtables.cpp
@@ -104,6 +104,8 @@ void readAndProcessOne()
message_lenght_stream >> message_lenght;
std::stringstream void_stream;
readExactly(1,void_stream); //skip space
+ if (!message_lenght)
+ return;
std::stringstream sync_command_stream;
readExactly(message_lenght, sync_command_stream);
//std::cout << message_lenght << std::endl;
@@ -119,7 +121,14 @@ int main(int argc, char* argv[])
while( std::cin.good() )
{
- readAndProcessOne();
+ try
+ {
+ readAndProcessOne();
+ }
+ catch(std::exception& e)
+ {
+ std::cout << "uncaught exception, exiting: " << e.what() << std::endl;
+ }
output();
}
return ret;