[gnote] Fix FileSystemSyncServer::id()
- From: Aurimas Äernius <aurimasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnote] Fix FileSystemSyncServer::id()
- Date: Fri, 9 Mar 2012 20:21:12 +0000 (UTC)
commit 4dca06070d37aed868b2deb60ac4445c21034dc8
Author: Aurimas Äernius <aurisc4 gmail com>
Date: Fri Mar 9 21:30:17 2012 +0200
Fix FileSystemSyncServer::id()
Failing to read server id using XPath.
Switching to using sharp::XmlReader.
src/synchronization/filesystemsyncserver.cpp | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
---
diff --git a/src/synchronization/filesystemsyncserver.cpp b/src/synchronization/filesystemsyncserver.cpp
index d5f9525..4021a2a 100644
--- a/src/synchronization/filesystemsyncserver.cpp
+++ b/src/synchronization/filesystemsyncserver.cpp
@@ -31,6 +31,7 @@
#include "sharp/files.hpp"
#include "sharp/uuid.hpp"
#include "sharp/xml.hpp"
+#include "sharp/xmlreader.hpp"
#include "sharp/xmlwriter.hpp"
@@ -510,13 +511,12 @@ std::string FileSystemSyncServer::id()
// Attempt to read from manifest file first
if(is_valid_xml_file(m_manifest_path)) {
- xmlDocPtr xml_doc = xmlReadFile(m_lock_path.c_str(), "UTF-8", 0);
- xmlNodePtr root_node = xmlDocGetRootElement(xml_doc);
-
- xmlNodePtr syncNode = sharp::xml_node_xpath_find_single_node(root_node, "//sync");
- m_server_id = sharp::xml_node_get_attribute(syncNode, "server-id");
-
- xmlFreeDoc(xml_doc);
+ sharp::XmlReader reader(m_manifest_path);
+ if(reader.read()) {
+ if(reader.get_node_type() == XML_READER_TYPE_ELEMENT && reader.get_name() == "sync") {
+ m_server_id = reader.get_attribute("server-id");
+ }
+ }
}
// Generate a new ID if there isn't already one
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]