X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fdata%2Fdata-in.c;h=1e8fe67983350fefb5ae4ce117b312bbb0711f9f;hb=3f0598ef1561833a21b0aea2ef51a7d6c2a9d681;hp=1180b32b0ab0ea4c3d8b3a02ee608ceabccb62be;hpb=1b47c4afe993f715c03e7392427b0b8919a26d4e;p=pspp-builds.git diff --git a/src/data/data-in.c b/src/data/data-in.c index 1180b32b..1e8fe679 100644 --- a/src/data/data-in.c +++ b/src/data/data-in.c @@ -48,27 +48,26 @@ static void dls_error (const struct data_in *, const char *format, ...) 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, 64); 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)); + 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); - e.category = MSG_DATA; - e.severity = MSG_ERROR; - err_location (&e.where); - e.title = ds_c_str (&title); + m.category = MSG_DATA; + m.severity = MSG_ERROR; + msg_location (&m.where); + m.text = ds_c_str (&text); - err_vmsg (&e, format, args); - - ds_destroy (&title); + msg_emit (&m); } static void @@ -569,10 +568,14 @@ parse_RB (struct data_in *i) 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; }