]> git.mxchange.org Git - flightgear.git/commitdiff
Updates to fix a network communication problem.
authorcurt <curt>
Tue, 24 Oct 2000 17:15:32 +0000 (17:15 +0000)
committercurt <curt>
Tue, 24 Oct 2000 17:15:32 +0000 (17:15 +0000)
src/FDM/ADA.cxx

index d2e1963a935df897b31405880c401158f26a2087..5457d063559a6d34ea6a25d7cb8ed643a963c17e 100644 (file)
@@ -179,15 +179,16 @@ bool FGADA::update( int multiloop ) {
     char Buffer[numberofbytes];
 
     // Read FGExternal structure from socket
-    int result = fdmsock->read(Buffer, numberofbytes);
-    // Loop to read from top of socket buffer - Last in first out
-    while (result == numberofbytes) {
-       result = fdmsock->read(Buffer, numberofbytes);
+    while (1) {
+      int result = fdmsock->read(Buffer, numberofbytes);
+      if (result == numberofbytes) {
+         // Copy buffer into FGExternal structure
+         memcpy (&sixdof_to_visuals, &Buffer, sizeof (Buffer));
+      } else {
+         break;
+      }
     }
 
-    // Copy buffer into FGExternal structure
-    memcpy (&sixdof_to_visuals, &Buffer, sizeof (Buffer));
-
     //cout << endl << sixdof_to_visuals.aux18 << endl;
     // Close Visuals through message/flag from Flight model
     if (sixdof_to_visuals.aux18 == 1) {