#include "dictionary.h"
#include "error.h"
#include "glob.h"
-#include "getline.h"
+#include "getl.h"
#include "lexer.h"
#include "main.h"
#include "settings.h"
#if HAVE_SYS_WAIT_H
#include <sys/wait.h>
#endif
+
+#include "gettext.h"
+#define _(msgid) gettext (msgid)
+#define N_(msgid) msgid
\f
/* Global variables. */
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;
/* Determines whether command C is appropriate to call in this
part of a FILE TYPE structure. */
static int
-FILE_TYPE_okay (const struct command *c)
+FILE_TYPE_okay (const struct command *c UNUSED)
+#if 0
{
int okay = 0;
&& c->func != cmd_repeating_data
&& c->func != cmd_end_file_type)
msg (SE, _("%s not allowed inside FILE TYPE/END FILE TYPE."), c->name);
-#if 0
/* FIXME */
else if (c->func == cmd_repeating_data && fty.type == FTY_GROUPED)
msg (SE, _("%s not allowed inside FILE TYPE GROUPED/END FILE TYPE."),
else if (!fty.had_rec_type && c->func != cmd_record_type)
msg (SE, _("RECORD TYPE must be the first command inside a "
"FILE TYPE structure."));
-#endif
else
okay = 1;
-#if 0
if (c->func == cmd_record_type)
fty.had_rec_type = 1;
-#endif
return okay;
}
+#else
+{
+ return 1;
+}
+#endif
/* Parses an entire PSPP command. This includes everything from the
command name to the terminating dot. Does most of its work by
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? */
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
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],
{
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;
free (words[word_cnt]);
}
- if ( command->debug && !test_mode )
+ if ( command->debug && !get_testing_mode () )
goto error;
free_words (words, word_cnt);
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;
execl (shell_fn, shell_process, NULL);
- err_hcf (1);
+ _exit (1);
}
case -1:
{
int code;
- if ( safer_mode() )
+ if (get_safer_mode ())
{
msg (SE, _("This command not allowed when the SAFER option is set."));
return CMD_FAILURE;