freeca(cf->index);
if(cf->capture != NULL)
free(cf->capture);
+ if(cf->reparse != NULL)
+ free(cf->reparse);
free(cf);
}
cf->patterns = pat;
} else if(!strcmp(s->argv[0], "index-file")) {
freeca(cf->index);
- cf->index = NULL;
- if(s->argc > 1)
- cf->index = cadup(s->argv + 1);
+ cf->index = cadup(s->argv + 1);
} else if(!strcmp(s->argv[0], "capture")) {
if(s->argc < 2) {
flog(LOG_WARNING, "%s:%i: missing argument to capture declaration", s->file, s->lno);
if(cf->capture != NULL)
free(cf->capture);
cf->capture = sstrdup(s->argv[1]);
- cf->caproot = 1;
- if((s->argc > 2) && strchr(s->argv[2], 'R'))
- cf->caproot = 0;
+ cf->caproot = 0;
+ if((s->argc > 2) && strchr(s->argv[2], 'D'))
+ cf->caproot = 1;
+ } else if(!strcmp(s->argv[0], "reparse")) {
+ if(s->argc < 2) {
+ flog(LOG_WARNING, "%s:%i: missing argument to reparse declaration", s->file, s->lno);
+ continue;
+ }
+ if(cf->reparse != NULL)
+ free(cf->reparse);
+ cf->reparse = sstrdup(s->argv[1]);
+ cf->parsecomb = 0;
+ if((s->argc > 2) && strchr(s->argv[2], 'c'))
+ cf->parsecomb = 1;
} else if(!strcmp(s->argv[0], "eof")) {
break;
} else {