Show the current time in info, warning, and error messages.
[synfig.git] / synfig-core / trunk / src / synfig / main.cpp
index a321d20..2c5be13 100644 (file)
@@ -2,10 +2,11 @@
 /*!    \file synfig/main.cpp
 **     \brief \writeme
 **
-**     $Id: main.cpp,v 1.3 2005/01/10 07:40:26 darco Exp $
+**     $Id$
 **
 **     \legal
 **     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**     Copyright (c) 2007 Chris Moore
 **
 **     This package is free software; you can redistribute it and/or
 **     modify it under the terms of the GNU General Public License as
@@ -147,7 +148,7 @@ synfig::check_version_(int version,int vec_size, int color_size,int canvas_size,
        return ret;
 }
 
-static void broken_pipe_signal (int sig)  {
+static void broken_pipe_signal (int /*sig*/)  {
        synfig::warning("Broken Pipe...");
 }
 
@@ -222,7 +223,7 @@ synfig::Main::Main(const synfig::String& basepath,ProgressCallback *cb):
        CHECK_EXPIRE_TIME();
 
        String prefix=basepath+"/..";
-       int i;
+       unsigned int i;
 #ifdef _DEBUG
        std::set_terminate(__gnu_cxx::__verbose_terminate_handler);
 #endif
@@ -369,28 +370,37 @@ synfig::Main::~Main()
                }
        }
 
+       synfig::info("ValueNode::subsys_stop()");
        ValueNode::subsys_stop();
+       synfig::info("Importer::subsys_stop()");
        Importer::subsys_stop();
+       synfig::info("Target::subsys_stop()");
        Target::subsys_stop();
+       synfig::info("Layer::subsys_stop()");
        Layer::subsys_stop();
-
-       /*! \fixme For some reason, uncommenting the next
-       **      line will cause things to crash. This needs to be
-       **      looked into at some point. */
-       //Module::subsys_stop();
-
+       /*! \fixme For some reason, uncommenting the next line will cause things to crash.
+                          This needs to be looked into at some point. */
+       // synfig::info("Module::subsys_stop()");
+       // Module::subsys_stop();
+       synfig::info("Exiting");
+       
 #if defined(HAVE_SIGNAL_H) && defined(SIGPIPE)
        signal(SIGPIPE, SIG_DFL);
 #endif
 }
 
-
-
-
-
-
-
-
+static const String
+current_time()
+{
+       const int buflen = 50;
+       time_t t;
+       struct tm *lt;
+       char b[buflen];
+       time(&t);
+       lt = localtime(&t);
+       strftime(b, buflen, " [%X] ", lt);
+       return String(b);
+}
 
 void
 synfig::error(const char *format,...)
@@ -404,7 +414,7 @@ void
 synfig::error(const String &str)
 {
        static Mutex mutex; Mutex::Lock lock(mutex);
-       cerr<<"synfig("<<getpid()<<"): "<<_("error")<<": "+str<<endl;
+       cerr<<"synfig("<<getpid()<<")"<<current_time()<<_("error")<<": "+str<<endl;
 }
 
 void
@@ -419,7 +429,7 @@ void
 synfig::warning(const String &str)
 {
        static Mutex mutex; Mutex::Lock lock(mutex);
-       cerr<<"synfig("<<getpid()<<"): "<<_("warning")<<": "+str<<endl;
+       cerr<<"synfig("<<getpid()<<")"<<current_time()<<_("warning")<<": "+str<<endl;
 }
 
 void
@@ -434,5 +444,5 @@ void
 synfig::info(const String &str)
 {
        static Mutex mutex; Mutex::Lock lock(mutex);
-       cerr<<"synfig("<<getpid()<<"): "<<_("info")<<": "+str<<endl;
+       cerr<<"synfig("<<getpid()<<")"<<current_time()<<_("info")<<": "+str<<endl;
 }