dav/scfg.c

changeset 145
82475dc12dd4
parent 144
c2c02c9b3be4
child 185
cd42cccee550
equal deleted inserted replaced
144:c2c02c9b3be4 145:82475dc12dd4
93 char *collection = NULL; 93 char *collection = NULL;
94 char *repository = NULL; 94 char *repository = NULL;
95 char *database = NULL; 95 char *database = NULL;
96 UcxList *include = NULL; 96 UcxList *include = NULL;
97 UcxList *exclude = NULL; 97 UcxList *exclude = NULL;
98 int max_retry = DAV_MAX_RETRY;
99 bool backuppull = false;
98 100
99 node = node->children; 101 node = node->children;
100 while(node) { 102 while(node) {
101 if(node->type == XML_ELEMENT_NODE) { 103 if(node->type == XML_ELEMENT_NODE) {
102 char *value = util_xml_get_text(node); 104 char *value = util_xml_get_text(node);
116 database = value; 118 database = value;
117 } else if(xstreq(node->name, "include")) { 119 } else if(xstreq(node->name, "include")) {
118 include = add_regex_pattern(include, value); 120 include = add_regex_pattern(include, value);
119 } else if(xstreq(node->name, "exclude")) { 121 } else if(xstreq(node->name, "exclude")) {
120 exclude = add_regex_pattern(exclude, value); 122 exclude = add_regex_pattern(exclude, value);
123 } else if(xstreq(node->name, "max-retry")) {
124 int64_t i;
125 if(util_strtoint(value, &i)) {
126 max_retry = (int)i;
127 } else {
128 fprintf(stderr, "Warnung: sync.xml: integer value "
129 "expected in <max-retry> element\n");
130 }
131 } else if(xstreq(node->name, "backup-on-pull")) {
132 backuppull = util_getboolean(value);
121 } 133 }
122 } 134 }
123 node = node->next; 135 node = node->next;
124 } 136 }
125 137
144 dir->name = strdup(name); 156 dir->name = strdup(name);
145 dir->path = strdup(path); 157 dir->path = strdup(path);
146 dir->collection = collection ? strdup(collection) : NULL; 158 dir->collection = collection ? strdup(collection) : NULL;
147 dir->repository = strdup(repository); 159 dir->repository = strdup(repository);
148 dir->database = strdup(database); 160 dir->database = strdup(database);
149 dir->max_retry = DAV_MAX_RETRY; 161 dir->max_retry = max_retry;
162 dir->backuppull = backuppull;
150 if (include) { 163 if (include) {
151 dir->include = include; 164 dir->include = include;
152 } else { 165 } else {
153 regex_t *matchall = malloc(sizeof(regex_t)); 166 regex_t *matchall = malloc(sizeof(regex_t));
154 regcomp(matchall, ".*", REG_NOSUB); 167 regcomp(matchall, ".*", REG_NOSUB);

mercurial