X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fcommand.c;h=2c62d2f26d79200b8dce23cc80b79dea24820cb1;hb=8b811199c8a79dba237254527012b43773e60975;hp=40c186efd9d35f92c262259679702188f5bef8d8;hpb=4944c86a9318bc5b5578ab145a95c116ffd2c9fd;p=pspp diff --git a/src/command.c b/src/command.c index 40c186efd9..2c62d2f26d 100644 --- a/src/command.c +++ b/src/command.c @@ -17,31 +17,14 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* AIX requires this to be the first thing in the file. */ #include -#if __GNUC__ -#define alloca __builtin_alloca -#else -#if HAVE_ALLOCA_H -#include -#else -#ifdef _AIX -#pragma alloca -#else -#ifndef alloca /* predefined by HP cc +Olibcalls */ -char *alloca (); -#endif -#endif -#endif -#endif - #include +#include "command.h" #include #include #include #include #include "alloc.h" -#include "command.h" #include "error.h" #include "getline.h" #include "lexer.h" @@ -61,8 +44,6 @@ char *alloca (); #include #endif -#undef DEBUGGING -/*#define DEBUGGING 1*/ #include "debug-print.h" /* Global variables. */ @@ -88,14 +69,6 @@ struct command struct command *next; /* Next command with same word[0]. */ }; -/* Prototype all the command functions. */ -#define DEFCMD(NAME, T1, T2, T3, T4, FUNC) \ - int FUNC (void); -#define UNIMPL(NAME, T1, T2, T3, T4) -#include "command.def" -#undef DEFCMD -#undef UNIMPL - /* Define the command array. */ #define DEFCMD(NAME, T1, T2, T3, T4, FUNC) \ {NAME, {T1, T2, T3, T4}, FUNC, {NULL, NULL, NULL}, NULL}, @@ -578,7 +551,7 @@ cmd_n_of_cases (void) x = lex_integer (); lex_get (); if (!lex_match_id ("ESTIMATED")) - default_dict.N = x; + dict_set_case_limit (default_dict, x); return lex_end_of_command (); } @@ -592,15 +565,24 @@ cmd_execute (void) return lex_end_of_command (); } + +#define assert_not_safer() \ + do { \ + if (set_safer) \ + { \ + msg (SE, _("This command not allowed when the SAFER option is set.")); \ + return CMD_FAILURE; \ + } \ +} while(0) + + + /* Parses, performs the ERASE command. */ int cmd_erase (void) { - if (set_safer) - { - msg (SE, _("This command not allowed when the SAFER option is set.")); - return CMD_FAILURE; - } + + assert_not_safer(); lex_match_id ("ERASE"); if (!lex_force_match_id ("FILE")) @@ -616,7 +598,7 @@ cmd_erase (void) return CMD_FAILURE; } - return lex_end_of_command (); + return CMD_SUCCESS; } #if unix @@ -727,11 +709,7 @@ cmd_host (void) { int code; - if (set_safer) - { - msg (SE, _("This command not allowed when the SAFER option is set.")); - return CMD_FAILURE; - } + assert_not_safer(); lex_match_id ("HOST");