projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
SET MXWARNS = 0 to be interpreted as unlimited.
[pspp]
/
src
/
libpspp
/
message.c
diff --git
a/src/libpspp/message.c
b/src/libpspp/message.c
index 0d226a1732ed45a2825ac02ce263780f769947ee..4ba8a8f7aca966e5add8671fa31dbd178abfc387 100644
(file)
--- a/
src/libpspp/message.c
+++ b/
src/libpspp/message.c
@@
-156,6
+156,9
@@
static bool too_many_errors;
/* True after the maximum number of notes has been exceeded. */
static bool too_many_notes;
/* True after the maximum number of notes has been exceeded. */
static bool too_many_notes;
+/* True iff warnings have been explicitly disabled (MXWARNS = 0) */
+static bool warnings_off = false;
+
/* Checks whether we've had so many errors that it's time to quit
processing this syntax file. */
bool
/* Checks whether we've had so many errors that it's time to quit
processing this syntax file. */
bool
@@
-164,6
+167,13
@@
msg_ui_too_many_errors (void)
return too_many_errors;
}
return too_many_errors;
}
+void
+msg_ui_disable_warnings (bool x)
+{
+ warnings_off = x;
+}
+
+
void
msg_ui_reset_counts (void)
{
void
msg_ui_reset_counts (void)
{
@@
-195,12
+205,17
@@
submit_note (char *s)
free (s);
}
free (s);
}
+
+
static void
process_msg (const struct msg *m)
{
int n_msgs, max_msgs;
static void
process_msg (const struct msg *m)
{
int n_msgs, max_msgs;
- if (too_many_errors || (too_many_notes && m->severity == MSG_S_NOTE))
+
+ if (too_many_errors
+ || (too_many_notes && m->severity == MSG_S_NOTE)
+ || (warnings_off && m->severity == MSG_S_WARNING) )
return;
msg_handler (m);
return;
msg_handler (m);
@@
-223,10
+238,10
@@
process_msg (const struct msg *m)
{
too_many_errors = true;
if (m->severity == MSG_S_WARNING)
{
too_many_errors = true;
if (m->severity == MSG_S_WARNING)
- submit_note (xasprintf (_("Warnings (%d) exceed limit (%d)."),
+ submit_note (xasprintf (_("Warnings (%d) exceed limit (%d).
Syntax processing will be halted.
"),
n_msgs, max_msgs));
else
n_msgs, max_msgs));
else
- submit_note (xasprintf (_("Errors (%d) exceed limit (%d)."),
+ submit_note (xasprintf (_("Errors (%d) exceed limit (%d).
Syntax processing will be halted.
"),
n_msgs, max_msgs));
}
}
n_msgs, max_msgs));
}
}