dav/main.c

changeset 100
f4127c4d1018
parent 84
7fca3788261d
child 105
ee0de2b1872e
--- a/dav/main.c	Sat Apr 04 20:37:03 2015 +0200
+++ b/dav/main.c	Sat May 02 10:59:02 2015 +0200
@@ -132,11 +132,12 @@
     fprintf(
             stderr,
             "        set-property [-pc] [-n <uri>] <url> <property> [value]\n");
+    fprintf(stderr, "        info [-pc] <url>\n");
     fprintf(stderr, "        date [url]\n");
     fprintf(stderr, "\n");
     fprintf(stderr, "Options:\n");
     fprintf(stderr,
-            "        -k <key>   Key to use for encryption or decryption\n");
+            "        -k <key>   Key to use for encryption\n");
     fprintf(stderr, "        -p         Don't encrypt or decrypt files\n");
     fprintf(stderr, "        -c         Enable full encryption\n");
     fprintf(stderr,
@@ -233,10 +234,13 @@
         if(url[ulen-1] == '/') {
             repo->url = strdup(url);
             *path = strdup("/");
-        } else {
+        } else if (strchr(url, '/')) {
             repo->url = util_parent_path(url);
             // TODO: check/fix
             *path = strdup(util_resource_name(url)-1);
+        } else {
+            repo->url = strdup(url);
+            *path = strdup("/");
         }
     }
     
@@ -248,6 +252,9 @@
     switch(sn->error) {
         default: {
             fprintf(stderr, "Operation failed for resource %s.\n", res_url);
+            if(sn->errorstr) {
+                fprintf(stderr, "%s\n", sn->errorstr);
+            }
             break;
         }
         case DAV_NOT_FOUND: {
@@ -271,6 +278,35 @@
                     "Missing intermediate collections for resource %s.\n",
                     res_url);
         }
+        case DAV_UNSUPPORTED_PROTOCOL: {
+            fprintf(stderr, "Unsupported protocol.\n");
+            if(sn->errorstr) {
+                fprintf(stderr, "%s\n", sn->errorstr);
+            }
+            break;
+        }
+        case DAV_COULDNT_RESOLVE_PROXY: {
+            fprintf(stderr, "Cannot resolve proxy host.\n");
+            break;
+        }
+        case DAV_COULDNT_RESOLVE_HOST: {
+            fprintf(stderr, "Cannot resolve host name.\n");
+            break;
+        }
+        case DAV_COULDNT_CONNECT: {
+            fprintf(stderr, "Cannot connect to host.\n");
+            break;
+        }
+        case DAV_TIMEOUT: {
+            fprintf(stderr, "Operation timed out.\n");
+            break;
+        }
+        case DAV_SSL_ERROR: {
+            fprintf(stderr, "SSL error.\n");
+            if(sn->errorstr) {
+                fprintf(stderr, "%s\n", sn->errorstr);
+            }
+        }
     }
     free(res_url);
 }

mercurial