X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flibpspp%2Fmessage.c;h=e3d301efd7ae8ae76a09a83360e1b09ed8f5c671;hb=73d1c7eda1b9ea351bb37c55a9be592a4884a516;hp=41a1da17502ea5e18386cdecb5c0d99df2c3afae;hpb=3d5011bbd45f2bd802caf55211bc060ed777a321;p=pspp diff --git a/src/libpspp/message.c b/src/libpspp/message.c index 41a1da1750..e3d301efd7 100644 --- a/src/libpspp/message.c +++ b/src/libpspp/message.c @@ -51,12 +51,14 @@ static int messages_disabled; void -vmsg (enum msg_class class, const char *format, va_list args) +vmsg (enum msg_class class, const struct msg_location *location, + const char *format, va_list args) { struct msg *m = xmalloc (sizeof *m); *m = (struct msg) { .category = msg_class_to_category (class), .severity = msg_class_to_severity (class), + .location = msg_location_dup (location), .text = xvasprintf (format, args), }; msg_emit (m); @@ -69,11 +71,21 @@ msg (enum msg_class class, const char *format, ...) { va_list args; va_start (args, format); - vmsg (class, format, args); + vmsg (class, NULL, format, args); va_end (args); } - +/* Outputs error message in CLASS, with text FORMAT, formatted with printf. + LOCATION is the reported location for the message. */ +void +msg_at (enum msg_class class, const struct msg_location *location, + const char *format, ...) +{ + va_list args; + va_start (args, format); + vmsg (class, location, format, args); + va_end (args); +} void msg_error (int errnum, const char *format, ...)