]> git.mxchange.org Git - flightgear.git/commitdiff
Patch from Melchior Franz:
authordavid <david>
Thu, 9 May 2002 21:57:07 +0000 (21:57 +0000)
committerdavid <david>
Thu, 9 May 2002 21:57:07 +0000 (21:57 +0000)
- don't send "set" confirmation when in data mode. If an external
  program really cares if the settings were accepted, which is
  rather unlikely, it simply has to "get" the property again.
  The returned line would have been a pain to parse, anyway
  (something like "from-model =  'true'  (bool)").
- do not only "set" the first token, but concatenate all given
  tokens with a space in between. This won't be used much, but
  makes sense for setting strings, while it does no harm when setting
  numbers. Silently ignoring all but the first token is impolite. ;-)
- remove old, commented out debug message that doesn't make much
  sense any more.

src/Network/props.cxx

index b54ac4d2912776a9c842610edacfde41ae1ee46e..3692a5cfe6ec49fed2c8197df9d5c780b1b61c99 100644 (file)
@@ -215,9 +215,6 @@ bool FGProps::process_command( const char *cmd ) {
            string tmp; 
            string value = node->getStringValue ( tokens[1].c_str(), "" );
            if ( mode == PROMPT ) {
-               //string ttt = "debug = '" + tokens[1] + "'\n";
-               //io->writestring( ttt.c_str() );
-
                tmp = tokens[1] + " = '" + value + "' (";
                tmp += getValueTypeString( node->getNode( tokens[1].c_str() ) );
                tmp += ")\n";
@@ -230,16 +227,22 @@ bool FGProps::process_command( const char *cmd ) {
         if ( tokens.size() <= 2 ) {
            // do nothing
        } else {
-           node->getNode( tokens[1].c_str(), true )->setStringValue(tokens[2].c_str());
+           string tmp = tokens[2];
+           for ( unsigned int i = 3; i < tokens.size() - 1; i++ ) {
+               tmp += " " + tokens[i];
+           }
+           node->getNode( tokens[1].c_str(), true )->setStringValue(tmp.c_str());
 
-           // now fetch and write out the new value as confirmation
-           // of the change
-           string value = node->getStringValue ( tokens[1].c_str(), "" );
-           string tmp = tokens[1] + " = '" + value + "' (";
-           tmp += getValueTypeString( node->getNode( tokens[1].c_str() ) );
-           tmp += ")\n";
-           io->writestring( tmp.c_str() );
+           if ( mode == PROMPT ) {
+               // now fetch and write out the new value as confirmation
+               // of the change
+               string value = node->getStringValue ( tokens[1].c_str(), "" );
+               string tmp = tokens[1] + " = '" + value + "' (";
+               tmp += getValueTypeString( node->getNode( tokens[1].c_str() ) );
+               tmp += ")\n";
+
+               io->writestring( tmp.c_str() );
+           }
        }
     } else if ( command == "quit" ) {
        close();