fix ReplaceVariables() for a command w/o calling any method

This commit is contained in:
eap 2009-02-24 14:51:23 +00:00
parent 24b90ea48c
commit 0f7c08d061

View File

@ -839,17 +839,21 @@ void ReplaceVariables(TCollection_AsciiString& theCommand,
if( aCommand.Search("=") != -1 ) // command returns an object
anEntry = aCommand.Token("=",1);
else { // command modifies the object
int aStartEntryPos = aCommand.Location(1,'(',1,aCommand.Length());
int aEndEntryPos = aCommand.Location(1,',',aStartEntryPos,aCommand.Length());
anEntry = aCommand.SubString(aStartEntryPos+1, aEndEntryPos-1);
if (int aStartEntryPos = aCommand.Location(1,'(',1,aCommand.Length()))
if (int aEndEntryPos = aCommand.Location(1,',',aStartEntryPos,aCommand.Length()))
anEntry = aCommand.SubString(aStartEntryPos+1, aEndEntryPos-1);
}
//Remove white spaces
anEntry.RightAdjust();
anEntry.LeftAdjust();
if(MYDEBUG)
cout<<"Result entry : '" <<anEntry<<"'"<<endl;
if ( anEntry.IsEmpty() ) {
aCommandIndex++;
continue;
}
//Check if result is list of entries - enough to get the first entry in this case
int aNbEntries = 1;
if( anEntry.Value( 1 ) == O_SQR_BRACKET && anEntry.Value( anEntry.Length() ) == C_SQR_BRACKET ) {