X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fprompt.c;h=614796e18e3dd3e79c2082d8966720bfe6a2376d;hb=81579d9e9f994fb2908f50af41c3eb033d216e58;hp=5640c5088097a645e44f50d22d173754ef9a7d84;hpb=b8b67a1e1f709640ccdb3422a591b938edb0ceea;p=pspp-builds.git diff --git a/src/language/prompt.c b/src/language/prompt.c index 5640c508..614796e1 100644 --- a/src/language/prompt.c +++ b/src/language/prompt.c @@ -1,21 +1,18 @@ -/* PSPP - computes sample statistics. - Copyright (C) 1997-9, 2000 Free Software Foundation, Inc. - Written by Ben Pfaff . +/* PSPP - a program for statistical analysis. + Copyright (C) 1997-9, 2000, 2010, 2011 Free Software Foundation, Inc. - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. */ + along with this program. If not, see . */ #include @@ -23,71 +20,48 @@ #include #include -#include "prompt.h" +#include "language/prompt.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "data/file-name.h" +#include "data/settings.h" +#include "data/variable.h" +#include "language/command.h" +#include "language/lexer/lexer.h" +#include "libpspp/assertion.h" +#include "libpspp/message.h" +#include "libpspp/str.h" +#include "libpspp/version.h" +#include "output/tab.h" -/* Current prompts in each style. */ -static char *prompts[PROMPT_CNT]; +#include "gl/xalloc.h" /* Current prompting style. */ static enum prompt_style current_style; -/* Initializes prompts. */ -void -prompt_init (void) -{ - prompts[PROMPT_FIRST] = xstrdup ("PSPP> "); - prompts[PROMPT_LATER] = xstrdup (" > "); - prompts[PROMPT_DATA] = xstrdup ("data> "); - current_style = PROMPT_FIRST; -} - -/* Frees prompts. */ -void -prompt_done (void) -{ - int i; - - for (i = 0; i < PROMPT_CNT; i++) - { - free (prompts[i]); - prompts[i] = NULL; - } -} - /* Gets the command prompt for the given STYLE. */ -const char * +const char * prompt_get (enum prompt_style style) { - assert (style < PROMPT_CNT); - return prompts[style]; -} + switch (style) + { + case PROMPT_FIRST: + return "PSPP> "; -/* Sets the given STYLE's prompt to STRING. */ -void -prompt_set (enum prompt_style style, const char *string) -{ - assert (style < PROMPT_CNT); - free (prompts[style]); - prompts[style] = xstrdup (string); + case PROMPT_LATER: + return " > "; + + case PROMPT_DATA: + return "data> "; + + case PROMPT_CNT: + NOT_REACHED (); + } + NOT_REACHED (); } /* Sets STYLE as the current prompt style. */ void -prompt_set_style (enum prompt_style style) +prompt_set_style (enum prompt_style style) { assert (style < PROMPT_CNT); current_style = style; @@ -95,7 +69,7 @@ prompt_set_style (enum prompt_style style) /* Returns the current prompt. */ enum prompt_style -prompt_get_style (void) +prompt_get_style (void) { return current_style; }