dav/main.c

changeset 373
dcc03142eb5f
parent 371
604e7e335b3b
child 375
39fd327f81da
--- a/dav/main.c	Sun Apr 01 12:40:48 2018 +0200
+++ b/dav/main.c	Sun Apr 29 11:16:41 2018 +0200
@@ -1685,6 +1685,14 @@
     return count;
 }
 
+void print_xml_infostr(DavXmlNode *xml) {
+    if(xml->children) {
+        printf("<%s>...</%s>", xml->name, xml->name);
+    } else {
+        printf("<%s/>", xml->name);
+    }
+}
+
 int cmd_info(CmdArgs *a) {
     if(a->argc < 1) {
         fprintf(stderr, "Too few arguments\n");
@@ -1738,7 +1746,25 @@
                 sstr_t value = sstr(dav_xml_getstring(xval));
                 printf("  %s: %.*s\n", p.name, (int)value.length, value.ptr);
             } else {
-                printf("  %s: $xml\n", p.name);
+                // find some xml elements
+                printf("  %s: ", p.name);
+                DavXmlNode *x = xval->type == DAV_XML_ELEMENT ? xval : dav_xml_nextelm(xval);
+                for(int i=0;i<3;i++) {
+                    if(x) {
+                        if(i == 2) {
+                            printf(" ...");
+                            break;
+                        } else {
+                            print_xml_infostr(x);
+                        }
+                    } else {
+                        break;
+                    }
+                    x = dav_xml_nextelm(x);
+                }
+                printf("\n");
+                
+                
             }
         }
 

mercurial