From 016fe8f6e9bb6ff1273d0cc1a7c02b6f0b6f6cf7 Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Sun, 27 Sep 2009 16:02:11 +0000
Subject: [PATCH] simplify logic

---
 Fltk/solverWindow.cpp | 154 +++++++++++++++++++++---------------------
 1 file changed, 77 insertions(+), 77 deletions(-)

diff --git a/Fltk/solverWindow.cpp b/Fltk/solverWindow.cpp
index 1d2e4d268a..257177fe2f 100644
--- a/Fltk/solverWindow.cpp
+++ b/Fltk/solverWindow.cpp
@@ -156,88 +156,88 @@ void GmshRemote::run(std::string args)
       break;
     
     int type, length;
-    if(server->ReceiveHeader(&type, &length)){
-      double timer = GetTimeInSeconds();
-      char *message = new char[length + 1];
-      if(server->ReceiveString(length, message)){
-        switch (type) {
-        case GmshSocket::GMSH_START:
-          _pid = atoi(message);
-          _server = server;
-          break;
-        case GmshSocket::GMSH_STOP:
-          _pid = -1;
-          _server = 0;
-          break;
-        case GmshSocket::GMSH_PROGRESS:
-          Msg::StatusBar(2, false, "%s %s", name.c_str(), message);
-          break;
-        case GmshSocket::GMSH_OPTION_1:
-        case GmshSocket::GMSH_OPTION_2:
-        case GmshSocket::GMSH_OPTION_3:
-        case GmshSocket::GMSH_OPTION_4:
-        case GmshSocket::GMSH_OPTION_5:
-          {
-            int i = (int)type - (int)GmshSocket::GMSH_OPTION_1;
-            if(initOption[i]){
-              optionValue[i].clear();
-              initOption[i] = false;
-            }
-            optionValue[i].push_back(message);
-          }
-          break;
-        case GmshSocket::GMSH_MERGE_FILE:
-          if(mergeViews) {
-            int n = PView::list.size();
-            MergeFile(message);
-            drawContext::global()->draw();
-            if(n != (int)PView::list.size()) 
-              FlGui::instance()->menu->setContext(menu_post, 0);
-          }
-          break;
-        case GmshSocket::GMSH_PARSE_STRING:
-          ParseString(message);
-          drawContext::global()->draw();
-          break;
-        case GmshSocket::GMSH_INFO:
-          Msg::Direct("%-8.8s: %s", name.c_str(), message);
-          break;
-        case GmshSocket::GMSH_WARNING:
-          Msg::Direct(2, "%-8.8s: %s", name.c_str(), message);
-          break;
-        case GmshSocket::GMSH_ERROR:
-          Msg::Direct(1, "%-8.8s: %s", name.c_str(), message);
-          break;
-        case GmshSocket::GMSH_SPEED_TEST:
-          Msg::Info("got %d Mb message in %g seconds", strlen(message) 
-                    / 1024 / 1024, GetTimeInSeconds() - timer);
-          break;
-        case GmshSocket::GMSH_VERTEX_ARRAY:
-          {
-            int n = PView::list.size();
-            PView::fillVertexArray(this, length, message);
-            drawContext::global()->draw();
-            if(n != (int)PView::list.size())
-              FlGui::instance()->updateViews();
-          }
-          break;
-        default:
-          Msg::Warning("Unknown message type");
-          Msg::Direct("%-8.8s: %s", name.c_str(), message);
-          break;
+    if(!server->ReceiveHeader(&type, &length)){
+      Msg::Error("Did not receive message header: stopping server");
+      break;
+    }
+
+    double timer = GetTimeInSeconds();
+    
+    char *message = new char[length + 1];
+    if(!server->ReceiveString(length, message)){
+      Msg::Error("Did not receive message body: stopping server");
+      delete [] message;
+      break;
+    }
+
+    switch (type) {
+    case GmshSocket::GMSH_START:
+      _pid = atoi(message);
+      _server = server;
+      break;
+    case GmshSocket::GMSH_STOP:
+      _pid = -1;
+      _server = 0;
+      break;
+    case GmshSocket::GMSH_PROGRESS:
+      Msg::StatusBar(2, false, "%s %s", name.c_str(), message);
+      break;
+    case GmshSocket::GMSH_OPTION_1:
+    case GmshSocket::GMSH_OPTION_2:
+    case GmshSocket::GMSH_OPTION_3:
+    case GmshSocket::GMSH_OPTION_4:
+    case GmshSocket::GMSH_OPTION_5:
+      {
+        int i = (int)type - (int)GmshSocket::GMSH_OPTION_1;
+        if(initOption[i]){
+          optionValue[i].clear();
+          initOption[i] = false;
         }
-        FlGui::instance()->check();
+        optionValue[i].push_back(message);
       }
-      else{
-        Msg::Warning("Failed to receive message body on socket: aborting");
-        break;
+      break;
+    case GmshSocket::GMSH_MERGE_FILE:
+      if(mergeViews) {
+        int n = PView::list.size();
+        MergeFile(message);
+        drawContext::global()->draw();
+        if(n != (int)PView::list.size()) 
+          FlGui::instance()->menu->setContext(menu_post, 0);
       }
-      delete [] message;
-    }
-    else{
-      // didn't get any header, just abort
+      break;
+    case GmshSocket::GMSH_PARSE_STRING:
+      ParseString(message);
+      drawContext::global()->draw();
+      break;
+    case GmshSocket::GMSH_INFO:
+      Msg::Direct("%-8.8s: %s", name.c_str(), message);
+      break;
+    case GmshSocket::GMSH_WARNING:
+      Msg::Direct(2, "%-8.8s: %s", name.c_str(), message);
+      break;
+    case GmshSocket::GMSH_ERROR:
+      Msg::Direct(1, "%-8.8s: %s", name.c_str(), message);
+      break;
+    case GmshSocket::GMSH_SPEED_TEST:
+      Msg::Info("got %d Mb message in %g seconds",
+                length / 1024 / 1024, GetTimeInSeconds() - timer);
+      break;
+    case GmshSocket::GMSH_VERTEX_ARRAY:
+      {
+        int n = PView::list.size();
+        PView::fillVertexArray(this, length, message);
+        drawContext::global()->draw();
+        if(n != (int)PView::list.size())
+          FlGui::instance()->updateViews();
+      }
+      break;
+    default:
+      Msg::Warning("Received unknown message type (%d)", type);
       break;
     }
+
+    delete [] message;
+    FlGui::instance()->check();
   }
 
   if(window){
-- 
GitLab