X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Flanguage%2Flexer%2Fformat-parser.c;h=85579a2ab2116567d0eb0547c707e198361017ae;hb=17d00f9ba94128390819277e5d614a03e98aade0;hp=78af09da311e2d2af24f5c9a410e68311f6f769a;hpb=55740f362a5218c87e61858a672540f4909d5e06;p=pspp diff --git a/src/language/lexer/format-parser.c b/src/language/lexer/format-parser.c index 78af09da31..85579a2ab2 100644 --- a/src/language/lexer/format-parser.c +++ b/src/language/lexer/format-parser.c @@ -16,13 +16,14 @@ #include +#include "language/lexer/format-parser.h" + #include #include #include #include "data/format.h" #include "data/variable.h" -#include "language/lexer/format-parser.h" #include "language/lexer/lexer.h" #include "libpspp/message.h" #include "libpspp/misc.h" @@ -34,13 +35,13 @@ static bool parse_abstract_format_specifier__ (struct lexer *lexer, char type[FMT_TYPE_LEN_MAX + 1], - int *width, int *decimals) + uint16_t *width, uint8_t *decimals) { struct substring s; struct substring type_ss, width_ss, decimals_ss; bool has_decimals; - if (lex_token (lexer) != T_ID) + if (lex_token (lexer) != T_ID && lex_token (lexer) != T_STRING) goto error; /* Extract pieces. */ @@ -90,7 +91,7 @@ error: bool parse_abstract_format_specifier (struct lexer *lexer, char type[FMT_TYPE_LEN_MAX + 1], - int *width, int *decimals) + uint16_t *width, uint8_t *decimals) { bool ok = parse_abstract_format_specifier__ (lexer, type, width, decimals); if (ok) @@ -98,10 +99,9 @@ parse_abstract_format_specifier (struct lexer *lexer, return ok; } -/* Parses a format specifier from the token stream and returns - true only if successful. Emits an error message on - failure. The caller should call check_input_specifier() or - check_output_specifier() on the parsed format as +/* Parses a format specifier from the token stream and returns true only if + successful. Emits an error message on failure. The caller should call + fmt_check_input() or fmt_check_output() on the parsed format as necessary. */ bool parse_format_specifier (struct lexer *lexer, struct fmt_spec *format)