From 4f19d10485f6171c7fa2297a5a2a6c72456520fc Mon Sep 17 00:00:00 2001
From: curt <curt>
Date: Fri, 14 Jul 2000 00:50:56 +0000
Subject: [PATCH] Tweaks to go along with changes in SGSocket.

---
 src/Main/fg_io.cxx   | 25 +++++++++++++++++--------
 src/Main/options.cxx |  3 ++-
 2 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/src/Main/fg_io.cxx b/src/Main/fg_io.cxx
index c3859db6e..84e8696a6 100644
--- a/src/Main/fg_io.cxx
+++ b/src/Main/fg_io.cxx
@@ -158,23 +158,32 @@ static FGProtocol *parse_port_config( const string& config )
 	ch->set_file_name( config.substr(begin) );
 	FG_LOG( FG_IO, FG_INFO, "  file name = " << ch->get_file_name() );
     } else if ( medium == "socket" ) {
-	SGSocket *ch = new SGSocket;
-	io->set_io_channel( ch );
-
 	// hostname
 	end = config.find(",", begin);
 	if ( end == string::npos ) {
 	    return NULL;
 	}
     
-	ch->set_hostname( config.substr(begin, end - begin) );
+	string hostname = config.substr(begin, end - begin);
 	begin = end + 1;
-	FG_LOG( FG_IO, FG_INFO, "  hostname = " << ch->get_hostname() );
+	FG_LOG( FG_IO, FG_INFO, "  hostname = " << hostname );
 
-	// port
-	ch->set_port_str( config.substr(begin) );
-	FG_LOG( FG_IO, FG_INFO, "  port string = " << ch->get_port_str() );
+	// port string
+	end = config.find(",", begin);
+	if ( end == string::npos ) {
+	    return NULL;
+	}
+    
+	string port = config.substr(begin, end - begin);
+	begin = end + 1;
+	FG_LOG( FG_IO, FG_INFO, "  port string = " << port );
 
+	// socket style
+	string style_str = config.substr(begin);
+	FG_LOG( FG_IO, FG_INFO, "  style string = " << style_str );
+       
+	SGSocket *ch = new SGSocket( hostname, port, style_str );
+	io->set_io_channel( ch );
     }
 
     return io;
diff --git a/src/Main/options.cxx b/src/Main/options.cxx
index f8bc50070..d4d9c06ed 100644
--- a/src/Main/options.cxx
+++ b/src/Main/options.cxx
@@ -554,10 +554,11 @@ fgOPTIONS::parse_fov( const string& arg ) {
 //  device = OS device name of serial line to be open()'ed
 //  baud = {300, 1200, 2400, ..., 230400}
 //
-// Socket exacmple "--native=socket,dir,hz,machine,port" where
+// Socket exacmple "--native=socket,dir,hz,machine,port,style" where
 // 
 //  machine = machine name or ip address if client (leave empty if server)
 //  port = port, leave empty to let system choose
+//  style = tcp or udp
 //
 // File example "--garmin=file,dir,hz,filename" where
 //