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