X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/c932d6135ca3e508f7136810b9b0bf79725290b9..c49e2f153521a86f22b2631ca8a1fb6389c3a70e:/src/complain.c?ds=sidebyside diff --git a/src/complain.c b/src/complain.c index b3477910..ede0ccf4 100644 --- a/src/complain.c +++ b/src/complain.c @@ -23,6 +23,7 @@ #include "system.h" #include +#include #include "complain.h" #include "files.h" @@ -73,11 +74,15 @@ error_message (location *loc, vfprintf (stderr, message, args); { size_t l = strlen (message); - if (l < 2 || message[l-2] != ':' || message[l-1] != ' ') { - putc ('\n', stderr); - fflush (stderr); - } + if (l < 2 || message[l - 2] != ':' || message[l - 1] != ' ') + { + putc ('\n', stderr); + fflush (stderr); + if (loc && feature_flag & feature_caret) + location_caret (stderr, *loc); + } } + fflush (stderr); } /** Wrap error_message() with varargs handling. */ @@ -123,7 +128,7 @@ warn_at_indent (location loc, unsigned *indent, return; set_warning_issued (); indent_ptr = indent; - ERROR_MESSAGE (&loc, _("warning"), message); + ERROR_MESSAGE (&loc, *indent ? NULL : _("warning"), message); } void @@ -143,7 +148,7 @@ warn (const char *message, ...) void complain_at (location loc, const char *message, ...) { - ERROR_MESSAGE (&loc, NULL, message); + ERROR_MESSAGE (&loc, _("error"), message); complaint_issued = true; } @@ -152,14 +157,14 @@ complain_at_indent (location loc, unsigned *indent, const char *message, ...) { indent_ptr = indent; - ERROR_MESSAGE (&loc, NULL, message); + ERROR_MESSAGE (&loc, *indent ? NULL : _("error"), message); complaint_issued = true; } void complain (const char *message, ...) { - ERROR_MESSAGE (NULL, NULL, message); + ERROR_MESSAGE (NULL, _("error"), message); complaint_issued = true; }