static void
vdls_error (const struct data_in *i, const char *format, va_list args)
{
- struct error e;
+ struct msg m;
struct string text;
if (i->flags & DI_IGNORE_ERROR)
ds_printf (&text, _(", field type %s) "), fmt_to_string (&i->format));
ds_vprintf (&text, format, args);
- e.category = MSG_DATA;
- e.severity = MSG_ERROR;
- err_location (&e.where);
- e.text = ds_c_str (&text);
+ m.category = MSG_DATA;
+ m.severity = MSG_ERROR;
+ msg_location (&m.where);
+ m.text = ds_c_str (&text);
- err_msg (&e);
+ 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);
+ const int bytes = width_to_bytes(i->format.w);
+
+ copy_mangle (i->v->s, bytes, i->s, i->e - i->s);
+
return true;
}