438 splitconfig = parse_splitconfig(node, &err); |
438 splitconfig = parse_splitconfig(node, &err); |
439 if(err) { |
439 if(err) { |
440 return 1; |
440 return 1; |
441 } |
441 } |
442 } else if(xstreq(node->name, "metadata")) { |
442 } else if(xstreq(node->name, "metadata")) { |
443 char *error = NULL; |
443 uint32_t md = 0; |
444 metadata = parse_finfo_settings(value, &error); |
444 |
445 if(error) { |
445 const char *delims = " ,\t\r\n"; |
446 print_error(node->line, "unknown metadata: %s\n", error); |
446 char *metadatastr = strdup(value); |
447 free(error); |
447 char *m = strtok(metadatastr, delims); |
448 } |
448 while(m) { |
|
449 if(!strcmp(m, "mtime")) { |
|
450 md |= FINFO_MTIME; |
|
451 } else if(!strcmp(m, "mode")) { |
|
452 md |= FINFO_MODE; |
|
453 } else if(!strcmp(m, "owner")) { |
|
454 md |= FINFO_OWNER; |
|
455 } else if(!strcmp(m, "xattr")) { |
|
456 md |= FINFO_XATTR; |
|
457 } |
|
458 m = strtok(NULL, delims); |
|
459 } |
|
460 free(metadatastr); |
|
461 |
|
462 metadata = md; |
449 } else if(xstreq(node->name, "versioning")) { |
463 } else if(xstreq(node->name, "versioning")) { |
450 versioning = parse_versioning_config(node); |
464 versioning = parse_versioning_config(node); |
451 } else if(xstreq(node->name, "max-retry")) { |
465 } else if(xstreq(node->name, "max-retry")) { |
452 int64_t i; |
466 int64_t i; |
453 if(util_strtoint(value, &i) && i >= 0) { |
467 if(util_strtoint(value, &i) && i >= 0) { |