pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/48565: Fix tqsl under clang



>Number:         48565
>Category:       pkg
>Synopsis:       Fix tqsl under clang
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Feb 02 16:00:00 +0000 2014
>Originator:     Diane Bruce
>Release:        ham/trustedQSL
>Organization:
Me? never organized..
>Environment:
Not applicable
>Description:
trustedQSL failing to build and run using clang compiler
>How-To-Repeat:

>Fix:
Two additional patches 

--- src/xml.h.orig      2013-10-20 20:33:20.000000000 -0400
+++ src/xml.h   2014-02-01 20:20:55.798824124 -0500
@@ -108,7 +108,6 @@
        XMLElementAttributeList _attributes;
        XMLElementList _elements;
        std::vector<XMLElementList::iterator> _parsingStack;
-       XMLElementList::iterator _iter;
        bool _iterByName;
        std::string _iterName;
        XMLElementAttributeList::iterator _aiter;
@@ -132,6 +131,7 @@
        return it;
 }
 
+#if 0
 inline bool
 XMLElement::getFirstElement(XMLElement& element) {
        _iterByName = false;
@@ -157,6 +157,7 @@
        ++_iter;
        return true;
 }
+#endif

 
 inline bool
 XMLElement::getFirstAttribute(std::string& key, std::string& attr) {



--- src/xml.cpp.orig    2013-10-20 20:33:20.000000000 -0400
+++ src/xml.cpp 2014-02-01 20:30:26.874285772 -0500
@@ -17,6 +17,33 @@
 using namespace std;
 
 namespace tqsllib {
+static XMLElementList::iterator _iter;
+
+bool
+XMLElement::getFirstElement(XMLElement& element) {
+       _iterByName = false;
+       _iter = _elements.begin();
+       return getNextElement(element);
+}
+
+bool
+XMLElement::getFirstElement(const std::string& name, XMLElement& element) {
+       _iterName = name;
+       _iterByName = true;
+       _iter = _elements.find(_iterName);
+       return getNextElement(element);
+}
+
+}
+
+bool
+XMLElement::getFirstElement(const std::string& name, XMLElement& element) {
+       _iterName = name;
+       _iterByName = true;
+       _iter = _elements.find(_iterName);
+       return getNextElement(element);
+}
+
+bool
+XMLElement::getNextElement(XMLElement& element) {
+       if (_iter == _elements.end())
+               return false;
+       if (_iterByName && _iter->second.getElementName() != _iterName)
+               return false;
+       element = _iter->second;
+       ++_iter;
+       return true;
+}
 
 pair<string,bool>
 XMLElement::getAttribute(const string& key) {





Home | Main Index | Thread Index | Old Index