#include <config.h>
#include "data-in.h"
-#include "message.h"
+#include <libpspp/message.h>
#include <math.h>
#include <ctype.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
-#include "message.h"
+#include <libpspp/message.h>
#include "calendar.h"
+#include <libpspp/compiler.h>
#include "identifier.h"
-#include "magic.h"
-#include "misc.h"
+#include <libpspp/magic.h>
+#include <libpspp/misc.h>
#include "settings.h"
-#include "str.h"
+#include <libpspp/str.h>
#include "variable.h"
#include "gettext.h"
#define _(msgid) gettext (msgid)
-
-#include "debug-print.h"
\f
/* Specialized error routine. */
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;
}