# HG changeset patch # User Olaf Wintermann # Date 1553070449 -3600 # Node ID 29e660161b7321eaabb6b9ada8c8380bde33f635 # Parent dc3f82b0473390125c9e3ab5843601de6c90b2d1 changes list-versions output diff -r dc3f82b04733 -r 29e660161b73 dav/sync.c --- a/dav/sync.c Tue Mar 19 20:31:17 2019 +0100 +++ b/dav/sync.c Wed Mar 20 09:27:29 2019 +0100 @@ -3096,7 +3096,7 @@ ret = 1; break; } - + if(dav_load_prop(vcol, NULL, 0)) { print_resource_error(sn, vcol->path); ret = 1; @@ -3104,17 +3104,35 @@ } DavResource *child = vcol->children; + UcxList *children = NULL; while(child) { - time_t now = child->lastmodified; + children = ucx_list_append(children, child); + child = child->next; + } + children = ucx_list_sort(children, ucx_cmp_str, NULL); + + DavBool first = 1; + UCX_FOREACH(elm, children) { + DavResource *c = elm->data; + time_t now = c->lastmodified; struct tm *date = gmtime(&now); char str[32]; putenv("LC_TIME=C"); size_t len = strftime(str, 32, "%a, %d %b %Y %H:%M:%S GMT", date); - printf("%s%32s\n", str, child->name); - - child = child->next; + if(!first) { + putchar('\n'); + } + printf("name: %s\n", c->name); + printf("lastmodified: %s\n", str); + char *server = util_url_base(sn->base_url); + char *url = util_concat_path(server, c->href); + printf("url: %s\n", url); + free(server); + free(url); + first = 0; } + ucx_list_free(children); } while(0); }