/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2006, 2009 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006, 2009, 2010 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
struct data_in i;
+ char *s = NULL;
bool ok;
assert ((width != 0) == fmt_is_string (format));
else
{
const char *dest_encoding;
- char *s = NULL;
+
if ( dict == NULL)
{
assert (0 == (fmt_get_category (format) & (FMT_CAT_BINARY | FMT_CAT_STRING)));
dest_encoding = dict_get_encoding (dict);
s = recode_string (dest_encoding, i.src_enc, ss_data (input), ss_length (input));
- ss_alloc_uninit (&i.input, strlen (s));
- memcpy (ss_data (i.input), s, ss_length (input));
- free (s);
+ i.input = ss_cstr (s);
}
ok = handlers[i.format] (&i);
if (!ok)
default_result (&i);
+ free (s);
return ok;
}
if (ss_is_empty (i->input))
return true;
- data_warning (i, _("Trailing garbage \"%.*s\" following date."),
+ data_warning (i, _("Trailing garbage `%.*s' following date."),
(int) ss_length (i->input), ss_data (i->input));
return false;
}
ds_init_empty (&text);
ds_put_char (&text, '(');
- if (i->first_column != 0)
- {
- if (i->first_column == i->last_column - 1)
- ds_put_format (&text, _("column %d"), i->first_column);
- else
- ds_put_format (&text, _("columns %d-%d"),
- i->first_column, i->last_column - 1);
- ds_put_cstr (&text, ", ");
- }
ds_put_format (&text, _("%s field) "), fmt_name (i->format));
ds_put_vformat (&text, format, args);
m.severity = MSG_S_WARNING;
m.text = ds_cstr (&text);
m.where.file_name = NULL;
- m.where.line_number = -1;
+ m.where.line_number = 0;
+ m.where.first_column = i->first_column;
+ m.where.last_column = i->last_column;
msg_emit (&m);
}