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; |