dav/main.c

changeset 33
0bbbb0341606
parent 32
c9d37bb97ea8
child 34
1b87b3b1921e
--- a/dav/main.c	Fri Aug 23 11:04:07 2013 +0200
+++ b/dav/main.c	Mon Aug 26 14:42:09 2013 +0200
@@ -38,13 +38,11 @@
 #include <dirent.h>
 
 
-#include "utils.h"
+#include <libidav/utils.h>
 #include "config.h"
 #include "crypto.h"
 #include "main.h"
 
-#include "davql.h"
-
 static DavContext *ctx;
 
 void xmlerrorfnc(void * c, const char * msg, ... ) {
@@ -52,20 +50,28 @@
 }
 
 int main(int argc, char **argv) {
+    
+    char *xargv[4];
+    xargv[0] = "dav";
+    xargv[1] = "put";
+    xargv[2] = "sunfire";
+    xargv[3] = "config.xml";
+    int xargc = 4;
+    
     xmlGenericErrorFunc fnc = xmlerrorfnc;
     initGenericErrorDefaultFunc(&fnc);
     load_config();
     ctx = dav_context_new();
     dav_add_namespace(ctx, "U", "http://www.uap-core.de/");
     
-    if(argc < 2) {
+    if(xargc < 2) {
         fprintf(stderr, "Missing command\n");
         print_usage(argv[0]);
         return -1;
     }
     
-    char *cmd = argv[1];
-    CmdArgs *args = cmd_parse_args(argc - 2, argv + 2);
+    char *cmd = xargv[1];
+    CmdArgs *args = cmd_parse_args(xargc - 2, xargv + 2);
     if(!args) {
         print_usage(argv[0]);
         return -1;
@@ -77,6 +83,7 @@
     } else if(!strcasecmp(cmd, "get")) {
         ret = cmd_get(args);
     } else if(!strcasecmp(cmd, "put")) {
+        printf("put\n");
         ret = cmd_put(args);
     } else if(
             !strcasecmp(cmd, "remove") ||
@@ -99,11 +106,11 @@
 void print_usage(char *cmd) {
     fprintf(stderr, "Usage: %s command [options] arguments...\n\n", cmd);
     fprintf(stderr, "Commands:\n");
-    fprintf(stderr, "list [-altR] [-u <date>] <url>\n");
+    fprintf(stderr, "        list [-altR] [-u <date>] <url>\n");
     fprintf(
             stderr,
             "        get [-pR] [-k <key>] [-o <file>] [-u <date>] <url>\n");
-    fprintf(stderr, "        put [-p] [-k <key>] <url> <file>\n");
+    fprintf(stderr, "        put [-pR] [-k <key>] <url> <file>\n");
     fprintf(stderr, "        mkdir <url>\n");
     fprintf(stderr, "        remove <url>\n");
     fprintf(stderr, "        date [url]\n");
@@ -643,7 +650,7 @@
         FILE *in = stdin;
         ret = put_file(repo, a, sn, path, "stdin", in);
     } else {
-        ret = put_entry(repo, a, sn, path, file);        
+        ret = put_entry(repo, a, sn, path, file); 
     }
     
     return ret;
@@ -698,7 +705,7 @@
         char *filename = util_resource_name(file);
         //path = util_concat_path(path, filename);
         ret = put_file(repo, a, sn, path, filename, in);
-        free(path);
+        //free(path);
         fclose(in);
     }
     
@@ -888,3 +895,12 @@
     }
     return 0;
 }
+
+int cmd_sync(CmdArgs *a) {
+    if(a->argc < 2) {
+        fprintf(stderr, "Too few arguments\n");
+        return -1;
+    }
+    
+    return 0;
+}

mercurial