From 55146ed0f04732c076c5caece8d8fb762fa24545 Mon Sep 17 00:00:00 2001 From: Daniel Pfeifer Date: Fri, 7 Sep 2012 10:35:55 +0200 Subject: docbook: Fix the DocBook section output The DocBook formatter used to generate something like: TitleSome Text Which was completely wrong. In DocBook, a section should look like this: TitleSome Text --- Source/cmDocumentationFormatterDocbook.cxx | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/Source/cmDocumentationFormatterDocbook.cxx b/Source/cmDocumentationFormatterDocbook.cxx index a109c53..47ea512 100644 --- a/Source/cmDocumentationFormatterDocbook.cxx +++ b/Source/cmDocumentationFormatterDocbook.cxx @@ -120,40 +120,31 @@ void cmDocumentationFormatterDocbook section.GetEntries(); for(std::vector::const_iterator op = entries.begin(); - op != entries.end();) + op != entries.end(); ++op) { if(op->Name.size()) { - for(;op != entries.end() && op->Name.size(); ++op) + os << "PrintId(os, prefix.c_str(), op->Name); + os << "\">\n"; + cmDocumentationPrintDocbookEscapes(os, op->Name.c_str()); + os << "\n"; + if(op->Full.size()) { - if(op->Name.size()) - { - os << " PrintId(os, prefix.c_str(), op->Name); - os << "\">"; - cmDocumentationPrintDocbookEscapes(os, op->Name.c_str()); - os << " "; - } + os << "\n"; cmDocumentationPrintDocbookEscapes(os, op->Brief.c_str()); - if(op->Name.size()) - { - os << "\n"; - } - - if(op->Full.size()) - { - // a line break seems to be simply a line break with docbook - os << "\n "; - this->PrintFormatted(os, op->Full.c_str()); - } - os << "\n"; + os << "\n\n"; + this->PrintFormatted(os, op->Full.c_str()); } + else + { + this->PrintFormatted(os, op->Brief.c_str()); + } + os << "\n"; } else { this->PrintFormatted(os, op->Brief.c_str()); - os << "\n"; - ++op; } } if(name) -- cgit v0.12