projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
message: Consistently initialize locator; use 0 for "no line number".
[pspp]
/
src
/
data
/
data-in.c
diff --git
a/src/data/data-in.c
b/src/data/data-in.c
index 33e369f971da8751f78e29e76f23d230e6e0227d..480d335a9c086b007f01b0a9efcde1b516e2bf0e 100644
(file)
--- a/
src/data/data-in.c
+++ b/
src/data/data-in.c
@@
-119,6
+119,7
@@
data_in (struct substring input, const char *encoding,
struct data_in i;
struct data_in i;
+ char *s = NULL;
bool ok;
assert ((width != 0) == fmt_is_string (format));
bool ok;
assert ((width != 0) == fmt_is_string (format));
@@
-146,7
+147,7
@@
data_in (struct substring input, const char *encoding,
else
{
const char *dest_encoding;
else
{
const char *dest_encoding;
- char *s = NULL;
+
if ( dict == NULL)
{
assert (0 == (fmt_get_category (format) & (FMT_CAT_BINARY | FMT_CAT_STRING)));
if ( dict == NULL)
{
assert (0 == (fmt_get_category (format) & (FMT_CAT_BINARY | FMT_CAT_STRING)));
@@
-156,15
+157,14
@@
data_in (struct substring input, const char *encoding,
dest_encoding = dict_get_encoding (dict);
s = recode_string (dest_encoding, i.src_enc, ss_data (input), ss_length (input));
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);
}
ok = handlers[i.format] (&i);
if (!ok)
default_result (&i);
+ free (s);
return ok;
}
return ok;
}
@@
-873,7
+873,7
@@
parse_trailer (struct data_in *i)
if (ss_is_empty (i->input))
return true;
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;
}
(int) ss_length (i->input), ss_data (i->input));
return false;
}
@@
-1199,9
+1199,11
@@
vdata_warning (const struct data_in *i, const char *format, va_list args)
ds_put_format (&text, _("%s field) "), fmt_name (i->format));
ds_put_vformat (&text, format, args);
ds_put_format (&text, _("%s field) "), fmt_name (i->format));
ds_put_vformat (&text, format, args);
- m.category = MSG_DATA;
- m.severity = MSG_WARNING;
+ m.category = MSG_
C_
DATA;
+ m.severity = MSG_
S_
WARNING;
m.text = ds_cstr (&text);
m.text = ds_cstr (&text);
+ m.where.file_name = NULL;
+ m.where.line_number = 0;
msg_emit (&m);
}
msg_emit (&m);
}