X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Futilities%2Fhost.c;h=f9b10480d2507c95d20dc677767c41c98639565f;hb=c58173ea116eed59ce96a4b233f2d2d8ceb50b26;hp=ae344367252bc053a1945480513c5f9ccc102395;hpb=5933892c21c6166b5714be979116d3aa70219c57;p=pspp-builds.git diff --git a/src/language/utilities/host.c b/src/language/utilities/host.c index ae344367..f9b10480 100644 --- a/src/language/utilities/host.c +++ b/src/language/utilities/host.c @@ -129,26 +129,26 @@ cmd_host (struct lexer *lexer, struct dataset *ds UNUSED) return CMD_FAILURE; } - if (lex_token (lexer) == '.') + if (lex_token (lexer) == T_ENDCMD) return shell () ? CMD_SUCCESS : CMD_FAILURE; else if (lex_match_id (lexer, "COMMAND")) { struct string command; bool ok; - lex_match (lexer, '='); - if (!lex_force_match (lexer, '[')) + lex_match (lexer, T_EQUALS); + if (!lex_force_match (lexer, T_LBRACK)) return CMD_FAILURE; ds_init_empty (&command); - while (lex_token (lexer) == T_STRING) + while (lex_is_string (lexer)) { if (!ds_is_empty (&command)) - ds_put_char (&command, '\n'); - ds_put_substring (&command, ds_ss (lex_tokstr (lexer))); + ds_put_byte (&command, '\n'); + ds_put_substring (&command, lex_tokss (lexer)); lex_get (lexer); } - if (!lex_force_match (lexer, ']')) + if (!lex_force_match (lexer, T_RBRACK)) { ds_destroy (&command); return CMD_FAILURE;