evolution r36457 - branches/gnome-2-24/e-util
- From: mcrha svn gnome org
- To: svn-commits-list gnome org
- Subject: evolution r36457 - branches/gnome-2-24/e-util
- Date: Fri, 26 Sep 2008 08:56:46 +0000 (UTC)
Author: mcrha
Date: Fri Sep 26 08:56:46 2008
New Revision: 36457
URL: http://svn.gnome.org/viewvc/evolution?rev=36457&view=rev
Log:
2008-09-26 Milan Crha <mcrha redhat com>
** Fix for bug #535248
* e-logger.c: (flush_logfile), (logger_set_component),
(logger_finalize), (e_logger_log), (e_logger_get_logs):
Check if log file has been opened successfully before using it.
Modified:
branches/gnome-2-24/e-util/ChangeLog
branches/gnome-2-24/e-util/e-logger.c
Modified: branches/gnome-2-24/e-util/e-logger.c
==============================================================================
--- branches/gnome-2-24/e-util/e-logger.c (original)
+++ branches/gnome-2-24/e-util/e-logger.c Fri Sep 26 08:56:46 2008
@@ -60,7 +60,8 @@
static gboolean
flush_logfile (ELogger *logger)
{
- fflush (logger->priv->fp);
+ if (logger->priv->fp)
+ fflush (logger->priv->fp);
logger->priv->timer = 0;
return FALSE;
@@ -81,6 +82,9 @@
logger->priv->fp = g_fopen (logger->priv->logfile, "w");
logger->priv->timer = 0;
+ if (!logger->priv->fp)
+ g_warning ("%s: Failed to open log file '%s' for writing.", G_STRFUNC, logger->priv->logfile ? logger->priv->logfile : "[null]");
+
g_free (temp);
}
@@ -126,7 +130,8 @@
if (logger->priv->timer)
g_source_remove (logger->priv->timer);
flush_logfile (logger);
- fclose (logger->priv->fp);
+ if (logger->priv->fp)
+ fclose (logger->priv->fp);
g_free (logger->priv->component);
g_free (logger->priv->logfile);
@@ -230,6 +235,9 @@
g_return_if_fail (primary != NULL);
g_return_if_fail (secondary != NULL);
+ if (!logger->priv->fp)
+ return;
+
fprintf (logger->priv->fp, "%d:%ld:%s\n", level, t, primary);
fprintf (logger->priv->fp, "%d:%ld:%s\n", level, t, secondary);
set_dirty (logger);
@@ -247,11 +255,12 @@
g_return_if_fail (func != NULL);
/* Flush everything before we get the logs */
- fflush (logger->priv->fp);
+ if (logger->priv->fp)
+ fflush (logger->priv->fp);
fp = g_fopen (logger->priv->logfile, "r");
if (!fp) {
- fprintf (stderr, "Cannot open log file '%s' for reading! No flush yet?\n", logger->priv->logfile ? logger->priv->logfile : "[null]");
+ g_warning ("%s: Cannot open log file '%s' for reading! No flush yet?\n", G_STRFUNC, logger->priv->logfile ? logger->priv->logfile : "[null]");
return;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]