diff -r 493128ef1b12 -r 8a0cc4d90de7 dav/main.c --- a/dav/main.c Tue Aug 13 12:44:23 2013 +0200 +++ b/dav/main.c Tue Aug 13 13:51:00 2013 +0200 @@ -132,6 +132,29 @@ *path = strdup("/"); } +void print_resource_error(DavSession *sn, DavResource *res) { + char *res_url = util_concat_path(sn->base_url, res->path); + switch(sn->error) { + default: { + fprintf(stderr, "Cannot get resource %s.\n", res_url); + break; + } + case DAV_NOT_FOUND: { + fprintf(stderr, "Resource %s not found.\n", res_url); + break; + } + case DAV_UNAUTHORIZED: { + fprintf(stderr, "Authentication required.\n"); + break; + } + case DAV_FORBIDDEN: { + fprintf(stderr, "Access forbidden.\n"); + break; + } + } + free(res_url); +} + int cmd_list(CmdArgs *a) { if(a->argc == 0) { @@ -155,7 +178,7 @@ DavResource *ls = dav_get(sn, path, NULL); if(!ls) { - fprintf(stderr, "error\n"); + print_resource_error(sn, ls); return -1; } DavResource *child = ls->children; @@ -187,7 +210,7 @@ DavResource *res = dav_get(sn, path, "U:crypto-key"); if(!res) { - fprintf(stderr, "error\n"); + print_resource_error(sn, res); return -1; } @@ -316,7 +339,8 @@ } if(dav_store(res)) { - fprintf(stderr, "cannot upload file\n"); + print_resource_error(sn, res); + fprintf(stderr, "Cannot upload file.\n"); fclose(in); return -1; }