diff -r 82275f589d8d -r 8a474d2ad209 dav/main.c --- a/dav/main.c Sun Sep 17 16:36:45 2017 +0200 +++ b/dav/main.c Sun Sep 17 17:56:02 2017 +0200 @@ -705,12 +705,10 @@ int get_resource(Repository *repo, DavResource *res, CmdArgs *a, char *out) { size_t outlen = strlen(out); - // print some status message in recursive mode - if(cmd_getoption(a, "recursive")) { - printf("get: %s\n", res->path); - } if(res->iscollection) { + printf("get: %s\n", res->path); + // create directory if(outlen != 0) { mode_t mode = S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH; @@ -735,6 +733,15 @@ } return 0; + } else if(cmd_getoption(a, "structure")) { + // download only directory structure + // this is a hidden feature and will be replaced in the future + return 0; + } + + // print some status message in recursive mode + if(cmd_getoption(a, "recursive")) { + printf("get: %s\n", res->path); } FILE *fout = !strcmp(out, "-") ? stdout : fopen(out, "wb");