static void
vdls_error (const struct data_in *i, const char *format, va_list args)
{
- struct error e;
- struct string title;
+ struct msg m;
+ struct string text;
if (i->flags & DI_IGNORE_ERROR)
return;
- ds_init (&title, 64);
+ ds_init (&text);
if (i->f1 == i->f2)
- ds_printf (&title, _("(column %d"), i->f1);
+ ds_printf (&text, _("(column %d"), i->f1);
else
- ds_printf (&title, _("(columns %d-%d"), i->f1, i->f2);
- ds_printf (&title, _(", field type %s) "), fmt_to_string (&i->format));
-
- e.class = DE;
- err_location (&e.where);
- e.title = ds_c_str (&title);
+ ds_printf (&text, _("(columns %d-%d"), i->f1, i->f2);
+ ds_printf (&text, _(", field type %s) "), fmt_to_string (&i->format));
+ ds_vprintf (&text, format, args);
- err_vmsg (&e, format, args);
+ m.category = MSG_DATA;
+ m.severity = MSG_ERROR;
+ msg_location (&m.where);
+ m.text = ds_c_str (&text);
- ds_destroy (&title);
+ msg_emit (&m);
}
static void
return true;
}
+
static inline bool
parse_A (struct data_in *i)
{
buf_copy_rpad (i->v->s, i->format.w, i->s, i->e - i->s);
+
return true;
}