+static int
+fgSetupProxy( const char *arg )
+{
+ string options = arg;
+ string host, port, auth;
+ unsigned int pos;
+
+ host = port = auth = "";
+ if ((pos = options.find("@")) != string::npos)
+ auth = options.substr(0, pos++);
+ else
+ pos = 0;
+
+ host = options.substr(pos, options.size());
+ if ((pos = host.find(":")) != string::npos) {
+ port = host.substr(++pos, host.size());
+ host.erase(--pos, host.size());
+ }
+
+ fgSetString("/sim/presets/proxy/host", host.c_str());
+ fgSetString("/sim/presets/proxy/port", port.c_str());
+ fgSetString("/sim/presets/proxy/authentication", auth.c_str());
+
+ return FG_OPTIONS_OK;
+}
+