From c063a100f09399a483e056f1f100466b8df8c638 Mon Sep 17 00:00:00 2001 From: andy <andy> Date: Wed, 23 Jan 2013 10:24:04 +0000 Subject: [PATCH] ENH: Updated foamHelp utility --- .../doxygenXmlParser/doxygenXmlParser.C | 44 ++++++++----------- .../doxygenXmlParser/doxygenXmlParser.H | 8 ++-- .../foamHelp/helpTypes/helpType/helpType.C | 9 +++- 3 files changed, 31 insertions(+), 30 deletions(-) diff --git a/applications/utilities/miscellaneous/foamHelp/helpTypes/doxygenXmlParser/doxygenXmlParser.C b/applications/utilities/miscellaneous/foamHelp/helpTypes/doxygenXmlParser/doxygenXmlParser.C index acf9a72d240..ac9c639c497 100644 --- a/applications/utilities/miscellaneous/foamHelp/helpTypes/doxygenXmlParser/doxygenXmlParser.C +++ b/applications/utilities/miscellaneous/foamHelp/helpTypes/doxygenXmlParser/doxygenXmlParser.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2012-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -176,46 +176,40 @@ Foam::doxygenXmlParser::doxygenXmlParser // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -void Foam::doxygenXmlParser::skipBlock(IFstream& is, const word blockName) const +void Foam::doxygenXmlParser::skipBlock +( + IFstream& is, + const word& blockName +) const { // recurse to move forward in 'is' until come across </blockName> - string closeName = ""; - // fast-forward until we reach a '<' char c; - while (is.get(c) && c != '<') - {} - - // check to see if this is a closing block - if (is.get(c) && c == '/') + while (is.good() && (closeName != blockName)) { - while (is.get(c) && c != '>') - { - closeName += c; - } + // fast-forward until we reach a '<' + while (is.get(c) && c != '<') + {} - if (closeName == blockName) + // check to see if this is a closing block + if (is.get(c) && c == '/') { - // finished reading block - return; - } - else - { - skipBlock(is, blockName); + closeName = ""; + + while (is.get(c) && c != '>') + { + closeName += c; + } } } - else - { - skipBlock(is, blockName); - } } void Foam::doxygenXmlParser::skipForward ( IFstream& is, - const word blockName + const word& blockName ) const { // recurse to move forward in 'is' until come across <blockName> diff --git a/applications/utilities/miscellaneous/foamHelp/helpTypes/doxygenXmlParser/doxygenXmlParser.H b/applications/utilities/miscellaneous/foamHelp/helpTypes/doxygenXmlParser/doxygenXmlParser.H index f2abdaee8d4..9853589fa3e 100644 --- a/applications/utilities/miscellaneous/foamHelp/helpTypes/doxygenXmlParser/doxygenXmlParser.H +++ b/applications/utilities/miscellaneous/foamHelp/helpTypes/doxygenXmlParser/doxygenXmlParser.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2012-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -25,8 +25,10 @@ Class Foam::doxygenXmlParser Description + Parser for doxygen XML SourceFiles + doxygenXmlParser.C \*---------------------------------------------------------------------------*/ @@ -65,10 +67,10 @@ public: // Member functions //- Skip past a block - void skipBlock(IFstream& is, const word blockName) const; + void skipBlock(IFstream& is, const word& blockName) const; //- Skip forward to block - void skipForward(IFstream& is, const word blockName) const; + void skipForward(IFstream& is, const word& blockName) const; //- Return the entry template<class Type> diff --git a/applications/utilities/miscellaneous/foamHelp/helpTypes/helpType/helpType.C b/applications/utilities/miscellaneous/foamHelp/helpTypes/helpType/helpType.C index 0b982e76a7e..29ad9ddbde3 100644 --- a/applications/utilities/miscellaneous/foamHelp/helpTypes/helpType/helpType.C +++ b/applications/utilities/miscellaneous/foamHelp/helpTypes/helpType/helpType.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2012-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -148,7 +148,12 @@ void Foam::helpType::displayDoc { FatalErrorIn ( - "void Foam::helpType::displayDoc(const word, const string)" + "void Foam::helpType::displayDoc" + "(" + "const word&, " + "const string&, " + "const bool" + ")" ) << "No help for type " << className << " found." << " Valid options include:" << SortableList<word>(parser.toc()) -- GitLab