]> andersk Git - splint.git/blobdiff - src/llerror.c
Manual flags.
[splint.git] / src / llerror.c
index a223d15d247d8f247dec12b54e547d38b12c4f9d..dd66d544deaf7a0d00f8be6c9a8b7cd37a58b45d 100644 (file)
@@ -141,10 +141,22 @@ llmsg (/*@only@*/ cstring s)
 void
 lldiagmsg (/*@only@*/ cstring s)
 {
+  static bool inmsg = FALSE;
+
+  if (inmsg)
+    {
+      fprintf (stderr, "Recursive message call detected: %s\n", cstring_toCharsSafe (s));
+      llexit (LLFAILURE);
+    }
+
+  inmsg = TRUE;
+
   context_setNeednl ();
   prepareMessage ();
   printMessage (stderr, s);
   closeMessage ();
+
+  inmsg = FALSE;
 }
 
 void
This page took 0.062508 seconds and 4 git commands to generate.