projects
/
pspp-builds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
lexer: Change the functions for retrieving token strings.
[pspp-builds.git]
/
src
/
language
/
lexer
/
value-parser.c
diff --git
a/src/language/lexer/value-parser.c
b/src/language/lexer/value-parser.c
index 269d24bca48d04b13da5c7a054b08fcdb281d4fd..4ef092de3a3e6c884e3c236e2d159b19023eed01 100644
(file)
--- a/
src/language/lexer/value-parser.c
+++ b/
src/language/lexer/value-parser.c
@@
-106,7
+106,7
@@
parse_number (struct lexer *lexer, double *x, const enum fmt_type *format)
assert (fmt_get_category (*format) != FMT_CAT_STRING);
assert (fmt_get_category (*format) != FMT_CAT_STRING);
- if (!data_in_msg (
ds_ss (lex_tokstr (lexer)
), LEGACY_NATIVE,
+ if (!data_in_msg (
lex_tokss (lexer
), LEGACY_NATIVE,
*format, &v, 0, NULL))
return false;
*format, &v, 0, NULL))
return false;
@@
-143,7
+143,12
@@
parse_value (struct lexer *lexer, union value *v, int width)
}
else if (lex_force_string (lexer))
{
}
else if (lex_force_string (lexer))
{
- const char *s = ds_cstr (lex_tokstr (lexer));
+ const char *s;
+
+ if (!lex_force_string (lexer))
+ return false;
+
+ s = lex_tokcstr (lexer);
value_copy_str_rpad (v, width, CHAR_CAST_BUG (const uint8_t *, s), ' ');
}
else
value_copy_str_rpad (v, width, CHAR_CAST_BUG (const uint8_t *, s), ' ');
}
else