X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fterminal%2Fmsg-ui.c;h=6c40a8c78c60cd5a4e13c76d489d9abc8fe1cb13;hb=12219168a9ece27a11d652ae82c8e7d65e1be98f;hp=6a67a6f1187f2bdcd209e3ad121ae1d980507c4a;hpb=65e61cc92b48297625bc71cf31b8a19e301eb6c1;p=pspp-builds.git diff --git a/src/ui/terminal/msg-ui.c b/src/ui/terminal/msg-ui.c index 6a67a6f1..6c40a8c7 100644 --- a/src/ui/terminal/msg-ui.c +++ b/src/ui/terminal/msg-ui.c @@ -1,27 +1,23 @@ -/* PSPP - computes sample statistics. +/* PSPP - a program for statistical analysis. Copyright (C) 1997-9, 2000, 2006 Free Software Foundation, Inc. - Written by Ben Pfaff . - 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 #include "msg-ui.h" -#include "exit.h" #include "linebreak.h" #include @@ -31,7 +27,7 @@ #include #include #include - +#include #include "gettext.h" #define _(msgid) gettext (msgid) @@ -46,25 +42,25 @@ static void handle_msg (const struct msg *); static FILE *msg_file ; -void +void msg_ui_set_error_file (const char *filename) { error_file = filename; } void -msg_ui_init (struct source_stream *ss) +msg_ui_init (struct source_stream *ss) { msg_file = stdout; - if ( error_file ) + if ( error_file ) { msg_file = fopen (error_file, "a"); - if ( NULL == msg_file ) + if ( NULL == msg_file ) { int err = errno; printf ( _("Cannot open %s (%s). " - "Writing errors to stdout instead.\n"), + "Writing errors to stdout instead.\n"), error_file, strerror(err) ); msg_file = stdout; } @@ -73,10 +69,11 @@ msg_ui_init (struct source_stream *ss) } void -msg_ui_done (void) +msg_ui_done (void) { msg_done (); - + msg_locator_done (); + if ( msg_file ) /* FIXME: do we really want to close stdout ?? */ fclose (msg_file); } @@ -86,7 +83,7 @@ msg_ui_done (void) void check_msg_count (struct source_stream *ss) { - if (!getl_is_interactive (ss)) + if (!getl_is_interactive (ss)) { if (get_errorbreak () && error_count) msg (MN, _("Terminating execution of syntax file due to error.")); @@ -99,18 +96,18 @@ check_msg_count (struct source_stream *ss) else return; - getl_abort_noninteractive (ss); + getl_abort_noninteractive (ss); } } void -reset_msg_count (void) +reset_msg_count (void) { error_count = warning_count = 0; } bool -any_errors (void) +any_errors (void) { return error_count > 0; } @@ -122,26 +119,26 @@ static void dump_line (int line_indent, const char *line, size_t length, static void handle_msg (const struct msg *m) { - struct category + struct category { bool show_command_name; /* Show command name with error? */ bool show_file_location; /* Show syntax file location? */ }; - static const struct category categories[] = + static const struct category categories[] = { {false, false}, /* MSG_GENERAL. */ {true, true}, /* MSG_SYNTAX. */ {false, true}, /* MSG_DATA. */ }; - struct severity + struct severity { const char *name; /* How to identify this severity. */ int *count; /* Number of msgs with this severity so far. */ }; - - static struct severity severities[] = + + static struct severity severities[] = { {N_("error"), &error_count}, /* MSG_ERROR. */ {N_("warning"), &warning_count}, /* MSG_WARNING. */ @@ -162,10 +159,10 @@ handle_msg (const struct msg *m) if (severity->name != NULL) ds_put_format (&string, "%s: ", gettext (severity->name)); - + if (severity->count != NULL) ++*severity->count; - + if (category->show_command_name && msg_get_command_name () != NULL) ds_put_format (&string, "%s: ", msg_get_command_name ()); @@ -213,7 +210,7 @@ dump_message (char *msg, unsigned width, unsigned indent, FILE *stream) line_start = 0; line_indent = 0; for (i = 0; i < length; i++) - switch (breaks[i]) + switch (breaks[i]) { case UC_BREAK_POSSIBLE: /* Break before this character,