diff --git a/applications/utilities/miscellaneous/foamDictionary/foamDictionary.C b/applications/utilities/miscellaneous/foamDictionary/foamDictionary.C index 64b1743f850f796c704a488b6b7a8e1fb8d03807..14f2f98e780d432bad9a4c1349ba7aecbf2e951c 100644 --- a/applications/utilities/miscellaneous/foamDictionary/foamDictionary.C +++ b/applications/utilities/miscellaneous/foamDictionary/foamDictionary.C @@ -242,19 +242,24 @@ int main(int argc, char *argv[]) argList::noBanner(); argList::validArgs.append("dictionary"); - argList::addBoolOption("keywords", "report keywords"); + argList::addBoolOption("keywords", "list keywords"); argList::addOption("entry", "name", "report/select the named entry"); + argList::addBoolOption + ( + "value", + "print entry value" + ); argList::addOption ( "set", "value", - "changes existing entry or adds new entry" + "set entry value or add new entry" ); argList::addOption ( "add", "value", - "adds a new entry" + "add a new entry" ); argList::addBoolOption ( @@ -356,7 +361,26 @@ int main(int argc, char *argv[]) } else { - Info<< *entPtr << endl; + if (args.optionFound("value")) + { + if (entPtr->isStream()) + { + const tokenList& tokens = entPtr->stream(); + forAll(tokens, i) + { + Info<< tokens[i] << token::SPACE; + } + Info<< endl; + } + else if (entPtr->isDict()) + { + Info<< entPtr->dict(); + } + } + else + { + Info<< *entPtr << endl; + } } } else