augeas (0.10.0-1) libxml2_onechar_path.patch

Summary

 src/augeas.c     |    2 +-
 tests/test-api.c |    9 +++++++++
 2 files changed, 10 insertions(+), 1 deletion(-)

    
download this patch

Patch contents

Index: augeas-0.10.0/src/augeas.c
===================================================================
--- augeas-0.10.0.orig/src/augeas.c	2011-12-14 09:56:47.170613958 +0100
+++ augeas-0.10.0/src/augeas.c	2011-12-14 09:57:10.250612994 +0100
@@ -1637,7 +1637,7 @@
     ARG_CHECK(flags != 0, aug, "aug_to_xml: FLAGS must be 0");
     ARG_CHECK(xmldoc == NULL, aug, "aug_to_xml: XMLDOC must be non-NULL");
 
-    if (pathin == NULL || strlen(pathin) == 1) {
+    if (pathin == NULL || strlen(pathin) == 0 || strcmp(pathin, "/") == 0) {
         pathin = "/*";
     }
 
Index: augeas-0.10.0/tests/test-api.c
===================================================================
--- augeas-0.10.0.orig/tests/test-api.c	2011-12-14 09:57:41.382611692 +0100
+++ augeas-0.10.0/tests/test-api.c	2011-12-14 09:58:03.638610760 +0100
@@ -435,6 +435,15 @@
     value = xmlGetProp(xmldoc, BAD_CAST "label");
     CuAssertStrEquals(tc, "root", (const char*)value);
 
+    /* Bug #239 */
+    r = aug_set(aug, "/augeas/context", "/files/etc/passwd");
+    CuAssertRetSuccess(tc, r);
+    r = aug_to_xml(aug, ".", &xmldoc, 0);
+    CuAssertRetSuccess(tc, r);
+    xmldoc = xmlFirstElementChild(xmldoc);
+    value = xmlGetProp(xmldoc, BAD_CAST "label");
+    CuAssertStrEquals(tc, "passwd", (const char*)value);
+
     aug_close(aug);
 }