]> git.mxchange.org Git - flightgear.git/commitdiff
generic protocol: another attempt to make MSVC smile
authorTorsten Dreyer <Torsten@t3r.de>
Tue, 22 Oct 2013 19:02:06 +0000 (21:02 +0200)
committerTorsten Dreyer <Torsten@t3r.de>
Tue, 22 Oct 2013 19:02:06 +0000 (21:02 +0200)
src/Network/generic.cxx

index 06fb65139947f5ade917c357414a0cca8c7a8c0b..7ef83bdc2516b6ff803acf1f8290e4eb6c4134c8 100644 (file)
@@ -121,9 +121,7 @@ int FGKissWrapper::unwrap( size_t n, uint8_t * buf )
 
   if( 0 == n ) return 0;
 
-  uint8_t dest[n];
-  uint8_t * dp = dest;
-
+  std::vector<uint8_t> dest;
   {
     bool escaped = false;
 
@@ -136,11 +134,11 @@ int FGKissWrapper::unwrap( size_t n, uint8_t * buf )
         switch( c ) {
 
           case TFESC:
-            *dp++ = FESC;
+            dest.push_back( FESC );
             break;
 
           case TFEND:
-            *dp++ = FEND;
+            dest.push_back( FEND );
             break;
 
           default: // this is an error - ignore and continue
@@ -165,21 +163,15 @@ int FGKissWrapper::unwrap( size_t n, uint8_t * buf )
             break;
 
           default:
-            *dp++ = c;
+            dest.push_back( c );
             break;
-
         }
       }
     }
   }
 
-  n = 0;
-  for( sp = dest; sp != dp; ) {
-    *buf++ = *sp++;
-    n++;
-  }
-
-  return n;
+  memcpy( buf, dest.data(), dest.size() );
+  return dest.size();
 }