diff libcruft/misc/lo-error.c @ 3325:2efa28a91e7a

[project @ 1999-10-29 21:39:20 by jwe]
author jwe
date Fri, 29 Oct 1999 21:39:31 +0000
parents 8b262e771614
children 4c8a2e4e0717
line wrap: on
line diff
--- a/libcruft/misc/lo-error.c
+++ b/libcruft/misc/lo-error.c
@@ -34,7 +34,12 @@
    symbol errors when creating shared versions of libcruft. */
 
 /* Pointer to the current error handling function. */
-liboctave_error_handler current_liboctave_error_handler = liboctave_fatal;
+liboctave_error_handler current_liboctave_error_handler
+  = liboctave_fatal;
+
+/* Pointer to the current warning handler. */
+liboctave_warning_handler current_liboctave_warning_handler
+  = liboctave_warning; 
 
 static void
 verror (const char *name, const char *fmt, va_list args)
@@ -57,6 +62,15 @@
 }
 
 void
+set_liboctave_warning_handler (liboctave_warning_handler f)
+{
+  if (f)
+    current_liboctave_warning_handler = f;
+  else
+    current_liboctave_warning_handler = liboctave_warning;
+}
+
+void
 liboctave_fatal (const char *fmt, ...)
 {
   va_list args;
@@ -67,6 +81,15 @@
   exit (1);
 }
 
+void
+liboctave_warning (const char *fmt, ...)
+{
+  va_list args;
+  va_start (args, fmt);
+  verror ("warning", fmt, args);
+  va_end (args);
+}
+
 /*
 ;;; Local Variables: ***
 ;;; mode: C ***