X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fcommand.c;h=a471f38e427e0085ee7da51ea764164d157668f2;hb=e238e7fc030ebb64a7f70176c2218783b5b205e3;hp=1e9fd570a6d8b3fbb0c7a11cb6d51273d2dda6ba;hpb=119676ae19d4f862cab6261936d1f6223f5534cc;p=pspp-builds.git diff --git a/src/command.c b/src/command.c index 1e9fd570..a471f38e 100644 --- a/src/command.c +++ b/src/command.c @@ -28,7 +28,7 @@ #include "dictionary.h" #include "error.h" #include "glob.h" -#include "getline.h" +#include "getl.h" #include "lexer.h" #include "main.h" #include "settings.h" @@ -45,6 +45,10 @@ #if HAVE_SYS_WAIT_H #include #endif + +#include "gettext.h" +#define _(msgid) gettext (msgid) +#define N_(msgid) msgid /* Global variables. */ @@ -104,7 +108,7 @@ pspp_completion_function (const char *text, int state) cmd = &commands[state + skip]; - if ( cmd->transition[pgm_state] == STATE_ERROR || ( cmd->debug && ! test_mode ) ) + if ( cmd->transition[pgm_state] == STATE_ERROR || ( cmd->debug && ! get_testing_mode () ) ) { skip++; continue; @@ -305,7 +309,7 @@ static const char * find_word (const char *string, size_t *word_len) { /* Skip whitespace and asterisks. */ - while (isspace (*string)) + while (isspace ((unsigned char) *string)) string++; /* End of string? */ @@ -343,14 +347,14 @@ conflicting_3char_prefixes (const char *a, const char *b) assert (aw != NULL && bw != NULL); /* Words that are the same don't conflict. */ - if (aw_len == bw_len && !mm_case_compare (aw, bw, aw_len)) + if (aw_len == bw_len && !buf_compare_case (aw, bw, aw_len)) return 0; /* Words that are otherwise the same in the first three letters do conflict. */ return ((aw_len > 3 && bw_len > 3) || (aw_len == 3 && bw_len > 3) - || (bw_len == 3 && aw_len > 3)) && !mm_case_compare (aw, bw, 3); + || (bw_len == 3 && aw_len > 3)) && !buf_compare_case (aw, bw, 3); } /* Returns nonzero if CMD can be confused with another command @@ -392,7 +396,7 @@ cmd_match_words (const struct command *cmd, word != NULL && word_idx < word_cnt; word = find_word (word + word_len, &word_len), word_idx++) if (word_len != strlen (words[word_idx]) - || mm_case_compare (word, words[word_idx], word_len)) + || buf_compare_case (word, words[word_idx], word_len)) { size_t match_chars = match_strings (word, word_len, words[word_idx], @@ -550,7 +554,7 @@ parse_command_name (void) { if (command->skip_entire_name) lex_get (); - if ( command->debug & !test_mode ) + if ( command->debug & !get_testing_mode () ) goto error; free_words (words, word_cnt); return command; @@ -595,7 +599,7 @@ parse_command_name (void) free (words[word_cnt]); } - if ( command->debug && !test_mode ) + if ( command->debug && !get_testing_mode () ) goto error; free_words (words, word_cnt); @@ -614,7 +618,7 @@ error: int cmd_exit (void) { - if (getl_reading_script) + if (getl_reading_script()) { msg (SE, _("This command is not accepted in a syntax file. " "Instead, use FINISH to terminate a syntax file.")); @@ -675,7 +679,7 @@ cmd_execute (void) int cmd_erase (void) { - if ( safer_mode() ) + if (get_safer_mode ()) { msg (SE, _("This command not allowed when the SAFER option is set.")); return CMD_FAILURE; @@ -735,7 +739,7 @@ shell (void) execl (shell_fn, shell_process, NULL); - err_hcf (1); + _exit (1); } case -1: @@ -806,7 +810,7 @@ cmd_host (void) { int code; - if ( safer_mode() ) + if (get_safer_mode ()) { msg (SE, _("This command not allowed when the SAFER option is set.")); return CMD_FAILURE;