X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FMain%2Ffg_io.cxx;h=36ca64433d3f6dc923acdfcdaa59374ea88856d7;hb=f467ba360902e4395d23b35481c55844a3946b91;hp=2ca273f1de2f10de551f747ed98fb5f1747ae028;hpb=0d0bd58268e219658252984019e5fb6b1aeac598;p=flightgear.git diff --git a/src/Main/fg_io.cxx b/src/Main/fg_io.cxx index 2ca273f1d..36ca64433 100644 --- a/src/Main/fg_io.cxx +++ b/src/Main/fg_io.cxx @@ -44,6 +44,7 @@ #include #include #include +#include #include #include #ifdef FG_JPEG_SERVER @@ -136,6 +137,9 @@ FGIO::parse_port_config( const string& config ) } else if ( protocol == "AV400" ) { FGAV400 *av400 = new FGAV400; io = av400; + } else if ( protocol == "AV400Sim" ) { + FGAV400Sim *av400sim = new FGAV400Sim; + io = av400sim; } else if ( protocol == "garmin" ) { FGGarmin *garmin = new FGGarmin; io = garmin; @@ -183,14 +187,21 @@ FGIO::parse_port_config( const string& config ) FGRUL *rul = new FGRUL; io = rul; } else if ( protocol == "generic" ) { - int configToken; - if (tokens[1] == "socket") + size_t configToken; + if (tokens[1] == "socket") { configToken = 7; - else if (tokens[1] == "file") + } else if (tokens[1] == "file") { configToken = 5; - else + } else { configToken = 6; - FGGeneric *generic = new FGGeneric( tokens[configToken] ); + } + + if (configToken >= tokens.size()) { + SG_LOG( SG_IO, SG_ALERT, "Not enough tokens passed for the generic protocol."); + return NULL; + } + + FGGeneric *generic = new FGGeneric( tokens ); io = generic; } else if ( protocol == "multiplay" ) { if ( tokens.size() != 5 ) { @@ -323,6 +334,11 @@ FGIO::init() } } +void +FGIO::reinit() +{ +} + // process any IO channel work void