summaryrefslogtreecommitdiff
blob: 1832686ee5911f32a63fc2a8d96886bd485b38ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Index: herdstat/portage/metadata_xml.cc
===================================================================
--- herdstat/portage/metadata_xml.cc	(revision 102)
+++ herdstat/portage/metadata_xml.cc	(revision 103)
@@ -57,6 +57,9 @@
     if (not path.empty()) this->set_path(path);
     if (not util::file_exists(this->path())) throw FileException(this->path());
     this->parse_file(this->path().c_str());
+
+    if (_data.longdesc().empty() and not _longdesc.empty())
+        _data.set_longdesc(_longdesc);
 }
 /****************************************************************************/
 bool
@@ -127,7 +130,9 @@
         const_cast<Developer&>(*_cur_dev).set_name(_cur_dev->name() + text);
     else if (in_desc)
         const_cast<Developer&>(*_cur_dev).set_role(text);
-    else if (in_en_longdesc or in_longdesc)
+    else if (in_en_longdesc)
+        _longdesc += text;
+    else if (in_longdesc)
         _data.set_longdesc(_data.longdesc() + text);
     return true;
 }
Index: herdstat/portage/metadata_xml.hh
===================================================================
--- herdstat/portage/metadata_xml.hh	(revision 102)
+++ herdstat/portage/metadata_xml.hh	(revision 103)
@@ -96,6 +96,7 @@
                  in_en_longdesc;
 
             Developers::iterator _cur_dev;
+            std::string _longdesc;
     };
 
     inline const metadata& metadata_xml::data() const { return _data; }