diff src/error.cc @ 1005:46a2983cb297

[project @ 1995-01-03 02:08:32 by jwe]
author jwe
date Tue, 03 Jan 1995 02:11:43 +0000
parents 6a10b90623ea
children dfe01093f657
line wrap: on
line diff
--- a/src/error.cc	Mon Jan 02 20:59:39 1995 +0000
+++ b/src/error.cc	Tue Jan 03 02:11:43 1995 +0000
@@ -65,6 +65,31 @@
   delete [] msg;
 }
 
+static void
+error_1 (const char *name, const char *fmt, va_list args)
+{
+  if (error_state != -2)
+    {
+      if (! error_state)
+	error_state = 1;
+
+      if (! suppress_octave_error_messages)
+	{
+	  int len = 0;
+	  if (fmt && *fmt && fmt[(len = strlen (fmt)) - 1] == '\n')
+	    {
+	      error_state = -2;
+	      char *tmp_fmt = strsave (fmt);
+	      tmp_fmt[len - 1] = '\0';
+	      verror (name, tmp_fmt, args);
+	      delete [] tmp_fmt;
+	    }
+	  else
+	    verror (name, fmt, args);
+	}
+    }
+}
+
 void
 message (const char *name, const char *fmt, ...)
 {
@@ -96,30 +121,18 @@
 void
 error (const char *fmt, ...)
 {
-  if (error_state == -2)
-    return;
-
-  if (! error_state)
-    error_state = 1;
-
-  if (suppress_octave_error_messages)
-    return;
-
   va_list args;
   va_start (args, fmt);
+  error_1 ("error", fmt, args);
+  va_end (args);
+}
 
-  int len = 0;
-  if (fmt && *fmt && fmt[(len = strlen (fmt)) - 1] == '\n')
-    {
-      error_state = -2;
-      char *tmp_fmt = strsave (fmt);
-      tmp_fmt[len - 1] = '\0';
-      verror ("error", tmp_fmt, args);
-      delete [] tmp_fmt;
-    }
-  else
-    verror ("error", fmt, args);
-
+void
+parse_error (const char *fmt, ...)
+{
+  va_list args;
+  va_start (args, fmt);
+  error_1 (0, fmt, args);
   va_end (args);
 }