]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/debug.cc
release: 1.3.142
[lilypond.git] / lily / debug.cc
index f33f0ba83da94f5d482c21cd24f77d36a1b90c5f..57380d6e7fb0c10863e13cad07088518bd2d87cd 100644 (file)
 /*   
   debug.cc --  implement debugging routines
-  
+
   source file of the GNU LilyPond music typesetter
   
-  (c) 1996,98 Han-Wen Nienhuys <hanwen@stack.nl>
+  (c) 1996--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
   
  */
+
 #include <fstream.h>
 #include <signal.h>
-
-// libg++ 2.8.0
-// #include <std/new.h>
 #include <stdlib.h>
+
 #include "debug.hh"
 #include "dstream.hh"
 #include "flower-debug.hh"
 #include "moment.hh"
-
+#include "misc.hh"
 #include "main.hh"
-Dstream *monitor=0;
-ostream * nulldev =0;
-
-
-// ugh
-struct _Dinit {
-  _Dinit()
-    {
-       nulldev = new ofstream ("/dev/null");
-       monitor = new Dstream (&cout,".dstreamrc");
-    }
-  ~_Dinit()
-    {
-       delete nulldev;
-       delete monitor;
-    }
-} dinit;
-
 
-
-/*
-  want to do a stacktrace .
-  */
-void
-mynewhandler()
-{
-  assert (false);
-}
+Dstream *my_monitor=0;
 
 void
 float_handler (int)
 {
-  cerr << _("Floating point exception .. \n")<< flush;
+  cerr << _ ("floating point exception") << endl;
   assert (false);
 }
 
-
 void
-debug_init()
+debug_init ()
 {
-#ifndef NDEBUG
-  // libg++ 2.8.0 doesn't have set_new_handler
-  // set_new_handler (&mynewhandler);
-#endif
-  set_flower_debug (*monitor, check_debug);
-
+  my_monitor = new Dstream (&cout, ".dstreamrc");
   signal (SIGFPE, float_handler);
 }
 
-bool check_debug=false;
-
-
 bool check_malloc_b = false;
 
-// #define MEMORY_PARANOID
-
-#ifdef MEMORY_PARANOID
-
-#include <malloc.h>
-
-void *
-operator new (size_t size)
-{
-  void *result;
-  result = malloc (size);
-  if (check_malloc_b)
-    memfrob (result, size);
-  return result;
-}
-
-
-void 
-operator delete (void *p)
-{
-  if (!p)
-    return ;
-  if (check_malloc_b)
-    memfrob (p, 8);            // ugh.  Need the blocksize.   8 is sysdependant
-
-  free (p);
-}
-#endif // MEMORY_PARANOID
-
 void
 set_debug (bool b)
 {
-  check_debug =b;
-  set_flower_debug (*monitor, check_debug);
-  check_malloc_b = experimental_features_global_b;
+  if (b)
+    flower_dstream = my_monitor;
+  else
+    flower_dstream = 0;
+  
 #ifdef MEMORY_PARANOID
   if (check_malloc_b)
     if (mcheck (0))
-      warning ("Can't set mem-checking!");
+      warning (_ ("can't set mem-checking!"));
 #endif
 }