-
- parser->type = DP_FIXED;
- parser->skip_records = 0;
-
- parser->fields = NULL;
- parser->n_fields = 0;
- parser->field_allocated = 0;
-
- parser->span = true;
- parser->empty_line_has_field = false;
- parser->warn_missing_fields = true;
- ss_alloc_substring (&parser->quotes, ss_cstr ("\"'"));
- parser->quote_escape = false;
- ss_alloc_substring (&parser->soft_seps, ss_cstr (CC_SPACES));
- ss_alloc_substring (&parser->hard_seps, ss_cstr (","));
- ds_init_empty (&parser->any_sep);
+ *parser = (struct data_parser) {
+ .type = DP_FIXED,
+ .span = true,
+ .warn_missing_fields = true,
+ .quotes = ss_clone (ss_cstr ("\"'")),
+ .soft_seps = ss_clone (ss_cstr (CC_SPACES)),
+ .hard_seps = ss_clone (ss_cstr (",")),
+ };