1
0
Fork 0

Patch from Melchior Franz:

- 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.
This commit is contained in:
david 2002-05-09 21:57:07 +00:00
parent 907e2942bb
commit c37d2019e0

View 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,8 +227,13 @@ 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());
if ( mode == PROMPT ) {
// now fetch and write out the new value as confirmation
// of the change
string value = node->getStringValue ( tokens[1].c_str(), "" );
@ -241,6 +243,7 @@ bool FGProps::process_command( const char *cmd ) {
io->writestring( tmp.c_str() );
}
}
} else if ( command == "quit" ) {
close();
reset();