dav/main.c

changeset 13
8a0cc4d90de7
parent 12
493128ef1b12
child 14
d1a43035d3a2
--- 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;
     }

mercurial