#include <libpspp/pool.h>
#include "private.h"
-const struct fixed_string empty_string = {NULL, 0};
+const struct substring empty_string = {NULL, 0};
static void
expr_error (void *aux UNUSED, const char *format, ...)
{
- struct error e;
+ struct msg m;
va_list args;
- /* FIXME: we can do better about saying where the error
- occurred. */
- e.class = SE;
- err_location (&e.where);
- e.title = NULL;
-
+ m.category = MSG_SYNTAX;
+ m.severity = MSG_ERROR;
va_start (args, format);
- err_vmsg (&e, format, args);
+ m.text = xvasprintf (format, args);
va_end (args);
+
+ msg_emit (&m);
}
double
}
int
-compare_string (const struct fixed_string *a, const struct fixed_string *b)
+compare_string (const struct substring *a, const struct substring *b)
{
size_t i;
return valid_cnt;
}
-struct fixed_string
+struct substring
alloc_string (struct expression *e, size_t length)
{
- struct fixed_string s;
+ struct substring s;
s.length = length;
s.string = pool_alloc (e->eval_pool, length);
return s;
}
-struct fixed_string
+struct substring
copy_string (struct expression *e, const char *old, size_t length)
{
- struct fixed_string s = alloc_string (e, length);
+ struct substring s = alloc_string (e, length);
memcpy (s.string, old, length);
return s;
}