X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fidentifier.c;h=a52944e2757a11db7ace38273283d081581d0375;hb=cf75e794a54ba92f57d71b236de555fcc1d5877e;hp=5c25cd0781c6520a7a525d778f2855a47f6a99f0;hpb=43b1296aafe7582e7dbe6c2b6a8b478d7d9b0fcf;p=pspp-builds.git diff --git a/src/data/identifier.c b/src/data/identifier.c index 5c25cd07..a52944e2 100644 --- a/src/data/identifier.c +++ b/src/data/identifier.c @@ -74,11 +74,19 @@ lex_id_get_length (struct substring string) and those characters are identical to KEYWORD. */ bool lex_id_match (struct substring keyword, struct substring token) +{ + return lex_id_match_n (keyword, token, 3); +} + +/* Returns true if TOKEN is a case-insensitive match for at least + the first N characters of KEYWORD. */ +bool +lex_id_match_n (struct substring keyword, struct substring token, size_t n) { size_t token_len = ss_length (token); size_t keyword_len = ss_length (keyword); - if (token_len >= 3 && token_len < keyword_len) + if (token_len >= n && token_len < keyword_len) return ss_equals_case (ss_head (keyword, token_len), token); else return ss_equals_case (keyword, token);