dav/scfg.c

changeset 536
877f7c4a203b
parent 534
9a4857d6444e
child 539
8deb52292c99
equal deleted inserted replaced
535:d814ee31c04f 536:877f7c4a203b
298 } 298 }
299 minsz = (int64_t)m; 299 minsz = (int64_t)m;
300 } 300 }
301 301
302 SplitConfig *sc = calloc(1, sizeof(SplitConfig)); 302 SplitConfig *sc = calloc(1, sizeof(SplitConfig));
303 sc->pattern = pattern ? strdup(pattern) : NULL; 303 if(pattern) {
304 regex_t *regex = malloc(sizeof(regex_t));
305 if (regcomp(regex, pattern, REG_EXTENDED|REG_NOSUB)) {
306 fprintf(stderr, "Invalid regular expression (%s)\n", pattern);
307 } else {
308 sc->pattern = regex;
309 }
310 }
304 sc->minsize = minsz; 311 sc->minsize = minsz;
305 sc->blocksize = (size_t)sz; 312 sc->blocksize = (size_t)sz;
306 return sc; 313 return sc;
307 } 314 }
308 315
520 dir->backuppull = backuppull; 527 dir->backuppull = backuppull;
521 dir->lockpull = lockpull; 528 dir->lockpull = lockpull;
522 dir->lockpush = lockpush; 529 dir->lockpush = lockpush;
523 dir->lock_timeout = lock_timeout; 530 dir->lock_timeout = lock_timeout;
524 dir->metadata = metadata; 531 dir->metadata = metadata;
532 dir->splitconfig = splitconfig;
525 if(metadata & FINFO_MODE == FINFO_MODE) { 533 if(metadata & FINFO_MODE == FINFO_MODE) {
526 dir->db_settings = DB_STORE_MODE; 534 dir->db_settings = DB_STORE_MODE;
527 } 535 }
528 if(metadata & FINFO_OWNER == FINFO_OWNER) { 536 if(metadata & FINFO_OWNER == FINFO_OWNER) {
529 dir->db_settings |= DB_STORE_OWNER; 537 dir->db_settings |= DB_STORE_OWNER;

mercurial