dav/scfg.c

changeset 256
54433cb371df
parent 254
d7c4ba50b7d8
child 288
cd3846cc8b25
--- a/dav/scfg.c	Fri Nov 18 15:27:45 2016 +0100
+++ b/dav/scfg.c	Fri Nov 18 16:00:15 2016 +0100
@@ -59,6 +59,10 @@
 
 static UcxMap *directories;
 
+UcxMapIterator scfg_directory_iterator() {
+    return ucx_map_iterator(directories);
+}
+
 static int create_default_sync_config(char *file) {
     FILE *out = fopen(file, "w");
     if(!out) {
@@ -74,55 +78,6 @@
     return 0;
 }
 
-int load_sync_config() {
-    directories = ucx_map_new(8);
-    
-    char *file = util_concat_path(ENV_HOME, ".dav/sync.xml");
-    
-    struct stat s;
-    if(stat(file, &s)) {
-        switch(errno) {
-            case ENOENT: {
-                if(create_default_sync_config(file)) {
-                    return 1;
-                }
-                break;
-            }
-            default: {
-                perror("Cannot load sync.xml");
-            }
-        }
-        free(file);
-        return 0;
-    }
-    
-    xmlDoc *doc = xmlReadFile(file, NULL, 0);
-    if(!doc) {
-        fprintf(stderr, "Cannot load sync.xml\n");
-        free(file);
-        return -1;
-    }
-    
-    int ret = 0;
-    xmlNode *node = xmlDocGetRootElement(doc)->children;
-    while(node && !ret) {
-        if(node->type == XML_ELEMENT_NODE) {
-            if(xstreq(node->name, "directory")) {
-                ret = scfg_load_directory(node);
-            } else {
-                print_error(node->line,
-                        "unknown config element: %s\n", node->name);
-                ret = 1;
-            }
-        }
-        node = node->next;
-    }
-    
-    xmlFreeDoc(doc);
-    free(file);
-    return ret;
-}
-
 static UcxList* add_regex_pattern(UcxList *list, char *value,
         unsigned short xmlline) {
     regex_t *regex = malloc(sizeof(regex_t));
@@ -168,7 +123,7 @@
     return 0;
 }
 
-int scfg_load_directory(xmlNode *node) {
+static int scfg_load_directory(xmlNode *node) {
     char *name = NULL;
     char *path = NULL;
     char *trash = NULL;
@@ -304,6 +259,55 @@
     return 0;
 }
 
+int load_sync_config() {
+    directories = ucx_map_new(8);
+    
+    char *file = util_concat_path(ENV_HOME, ".dav/sync.xml");
+    
+    struct stat s;
+    if(stat(file, &s)) {
+        switch(errno) {
+            case ENOENT: {
+                if(create_default_sync_config(file)) {
+                    return 1;
+                }
+                break;
+            }
+            default: {
+                perror("Cannot load sync.xml");
+            }
+        }
+        free(file);
+        return 0;
+    }
+    
+    xmlDoc *doc = xmlReadFile(file, NULL, 0);
+    if(!doc) {
+        fprintf(stderr, "Cannot load sync.xml\n");
+        free(file);
+        return -1;
+    }
+    
+    int ret = 0;
+    xmlNode *node = xmlDocGetRootElement(doc)->children;
+    while(node && !ret) {
+        if(node->type == XML_ELEMENT_NODE) {
+            if(xstreq(node->name, "directory")) {
+                ret = scfg_load_directory(node);
+            } else {
+                print_error(node->line,
+                        "unknown config element: %s\n", node->name);
+                ret = 1;
+            }
+        }
+        node = node->next;
+    }
+    
+    xmlFreeDoc(doc);
+    free(file);
+    return ret;
+}
+
 SyncDirectory* scfg_get_dir(char *name) {
     return ucx_map_cstr_get(directories, name);
 }
@@ -432,15 +436,6 @@
     return ret;
 }
 
-int list_syncdirs() {
-    UcxMapIterator i = ucx_map_iterator(directories);
-    SyncDirectory *dir;
-    UCX_MAP_FOREACH(key, dir, i) {
-        printf("%s\n", dir->name);
-    }
-    return 0;
-}
-
 char* generate_db_name(char *basename) {
     char *dbname = NULL;
     int count = -1;

mercurial