From: Torsten Dreyer Date: Tue, 22 Oct 2013 19:02:06 +0000 (+0200) Subject: generic protocol: another attempt to make MSVC smile X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=60575c3b8c99181ca04ad8d0487177fa7af70e3d;p=flightgear.git generic protocol: another attempt to make MSVC smile --- diff --git a/src/Network/generic.cxx b/src/Network/generic.cxx index 06fb65139..7ef83bdc2 100644 --- a/src/Network/generic.cxx +++ b/src/Network/generic.cxx @@ -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 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(); }