summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2001-02-13 18:20:13 +0000
committerHavoc Pennington <hp@src.gnome.org>2001-02-13 18:20:13 +0000
commita8786011f37e9ca37a186742ffeb55ca4510a633 (patch)
tree59b28093c2eb65e80aae5c822aeb7bc7ede942ad
parent41e2001d85966ce3bd9133e49b070a00926bd6ea (diff)
don't overwrite errors
2001-02-09 Havoc Pennington <hp@redhat.com> * gconvert.c (g_convert): don't overwrite errors * gerror.c (g_set_error): improve warning message if an error is overwritten (g_propagate_error): ditto
-rw-r--r--ChangeLog8
-rw-r--r--ChangeLog.pre-2-08
-rw-r--r--ChangeLog.pre-2-108
-rw-r--r--ChangeLog.pre-2-128
-rw-r--r--ChangeLog.pre-2-28
-rw-r--r--ChangeLog.pre-2-48
-rw-r--r--ChangeLog.pre-2-68
-rw-r--r--ChangeLog.pre-2-88
-rw-r--r--gconvert.c11
-rw-r--r--gerror.c21
-rw-r--r--glib/gconvert.c11
-rw-r--r--glib/gerror.c21
12 files changed, 106 insertions, 22 deletions
diff --git a/ChangeLog b/ChangeLog
index aa4b78291..0e9bc0dca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2001-02-09 Havoc Pennington <hp@redhat.com>
+
+ * gconvert.c (g_convert): don't overwrite errors
+
+ * gerror.c (g_set_error): improve warning message if an error is
+ overwritten
+ (g_propagate_error): ditto
+
2001-02-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthread.c, gthread.h: Added functions g_static_rec_mutex_init,
diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0
index aa4b78291..0e9bc0dca 100644
--- a/ChangeLog.pre-2-0
+++ b/ChangeLog.pre-2-0
@@ -1,3 +1,11 @@
+2001-02-09 Havoc Pennington <hp@redhat.com>
+
+ * gconvert.c (g_convert): don't overwrite errors
+
+ * gerror.c (g_set_error): improve warning message if an error is
+ overwritten
+ (g_propagate_error): ditto
+
2001-02-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthread.c, gthread.h: Added functions g_static_rec_mutex_init,
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index aa4b78291..0e9bc0dca 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,3 +1,11 @@
+2001-02-09 Havoc Pennington <hp@redhat.com>
+
+ * gconvert.c (g_convert): don't overwrite errors
+
+ * gerror.c (g_set_error): improve warning message if an error is
+ overwritten
+ (g_propagate_error): ditto
+
2001-02-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthread.c, gthread.h: Added functions g_static_rec_mutex_init,
diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12
index aa4b78291..0e9bc0dca 100644
--- a/ChangeLog.pre-2-12
+++ b/ChangeLog.pre-2-12
@@ -1,3 +1,11 @@
+2001-02-09 Havoc Pennington <hp@redhat.com>
+
+ * gconvert.c (g_convert): don't overwrite errors
+
+ * gerror.c (g_set_error): improve warning message if an error is
+ overwritten
+ (g_propagate_error): ditto
+
2001-02-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthread.c, gthread.h: Added functions g_static_rec_mutex_init,
diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2
index aa4b78291..0e9bc0dca 100644
--- a/ChangeLog.pre-2-2
+++ b/ChangeLog.pre-2-2
@@ -1,3 +1,11 @@
+2001-02-09 Havoc Pennington <hp@redhat.com>
+
+ * gconvert.c (g_convert): don't overwrite errors
+
+ * gerror.c (g_set_error): improve warning message if an error is
+ overwritten
+ (g_propagate_error): ditto
+
2001-02-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthread.c, gthread.h: Added functions g_static_rec_mutex_init,
diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4
index aa4b78291..0e9bc0dca 100644
--- a/ChangeLog.pre-2-4
+++ b/ChangeLog.pre-2-4
@@ -1,3 +1,11 @@
+2001-02-09 Havoc Pennington <hp@redhat.com>
+
+ * gconvert.c (g_convert): don't overwrite errors
+
+ * gerror.c (g_set_error): improve warning message if an error is
+ overwritten
+ (g_propagate_error): ditto
+
2001-02-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthread.c, gthread.h: Added functions g_static_rec_mutex_init,
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index aa4b78291..0e9bc0dca 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,3 +1,11 @@
+2001-02-09 Havoc Pennington <hp@redhat.com>
+
+ * gconvert.c (g_convert): don't overwrite errors
+
+ * gerror.c (g_set_error): improve warning message if an error is
+ overwritten
+ (g_propagate_error): ditto
+
2001-02-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthread.c, gthread.h: Added functions g_static_rec_mutex_init,
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index aa4b78291..0e9bc0dca 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,3 +1,11 @@
+2001-02-09 Havoc Pennington <hp@redhat.com>
+
+ * gconvert.c (g_convert): don't overwrite errors
+
+ * gerror.c (g_set_error): improve warning message if an error is
+ overwritten
+ (g_propagate_error): ditto
+
2001-02-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthread.c, gthread.h: Added functions g_static_rec_mutex_init,
diff --git a/gconvert.c b/gconvert.c
index 17ba928ea..d14b63428 100644
--- a/gconvert.c
+++ b/gconvert.c
@@ -233,9 +233,12 @@ g_convert (const gchar *str,
{
if ((p - str) != len)
{
- g_set_error (error, G_CONVERT_ERROR, G_CONVERT_ERROR_PARTIAL_INPUT,
- _("Partial character sequence at end of input"));
- have_error = TRUE;
+ if (!have_error)
+ {
+ g_set_error (error, G_CONVERT_ERROR, G_CONVERT_ERROR_PARTIAL_INPUT,
+ _("Partial character sequence at end of input"));
+ have_error = TRUE;
+ }
}
}
@@ -337,6 +340,8 @@ g_convert_with_fallback (const gchar *str,
else
g_error_free (local_error);
+ local_error = NULL;
+
/* No go; to proceed, we need a converter from "UTF-8" to
* to_codeset, and the string as UTF-8.
*/
diff --git a/gerror.c b/gerror.c
index c365bd2a3..eff62588a 100644
--- a/gerror.c
+++ b/gerror.c
@@ -169,7 +169,8 @@ g_error_matches (const GError *error,
}
#define ERROR_OVERWRITTEN_WARNING "GError set over the top of a previous GError or uninitialized memory.\n" \
- "This indicates a bug in someone's code. You must ensure an error is NULL before it's set."
+ "This indicates a bug in someone's code. You must ensure an error is NULL before it's set.\n" \
+ "The overwriting error message was: %s"
/**
* g_set_error:
@@ -189,17 +190,21 @@ g_set_error (GError **err,
const gchar *format,
...)
{
+ GError *new;
+
va_list args;
if (err == NULL)
return;
-
- if (*err != NULL)
- g_warning (ERROR_OVERWRITTEN_WARNING);
va_start (args, format);
- *err = g_error_new_valist (domain, code, format, args);
+ new = g_error_new_valist (domain, code, format, args);
va_end (args);
+
+ if (*err == NULL)
+ *err = new;
+ else
+ g_warning (ERROR_OVERWRITTEN_WARNING, new->message);
}
/**
@@ -225,9 +230,9 @@ g_propagate_error (GError **dest,
else
{
if (*dest != NULL)
- g_warning (ERROR_OVERWRITTEN_WARNING);
-
- *dest = src;
+ g_warning (ERROR_OVERWRITTEN_WARNING, src->message);
+ else
+ *dest = src;
}
}
diff --git a/glib/gconvert.c b/glib/gconvert.c
index 17ba928ea..d14b63428 100644
--- a/glib/gconvert.c
+++ b/glib/gconvert.c
@@ -233,9 +233,12 @@ g_convert (const gchar *str,
{
if ((p - str) != len)
{
- g_set_error (error, G_CONVERT_ERROR, G_CONVERT_ERROR_PARTIAL_INPUT,
- _("Partial character sequence at end of input"));
- have_error = TRUE;
+ if (!have_error)
+ {
+ g_set_error (error, G_CONVERT_ERROR, G_CONVERT_ERROR_PARTIAL_INPUT,
+ _("Partial character sequence at end of input"));
+ have_error = TRUE;
+ }
}
}
@@ -337,6 +340,8 @@ g_convert_with_fallback (const gchar *str,
else
g_error_free (local_error);
+ local_error = NULL;
+
/* No go; to proceed, we need a converter from "UTF-8" to
* to_codeset, and the string as UTF-8.
*/
diff --git a/glib/gerror.c b/glib/gerror.c
index c365bd2a3..eff62588a 100644
--- a/glib/gerror.c
+++ b/glib/gerror.c
@@ -169,7 +169,8 @@ g_error_matches (const GError *error,
}
#define ERROR_OVERWRITTEN_WARNING "GError set over the top of a previous GError or uninitialized memory.\n" \
- "This indicates a bug in someone's code. You must ensure an error is NULL before it's set."
+ "This indicates a bug in someone's code. You must ensure an error is NULL before it's set.\n" \
+ "The overwriting error message was: %s"
/**
* g_set_error:
@@ -189,17 +190,21 @@ g_set_error (GError **err,
const gchar *format,
...)
{
+ GError *new;
+
va_list args;
if (err == NULL)
return;
-
- if (*err != NULL)
- g_warning (ERROR_OVERWRITTEN_WARNING);
va_start (args, format);
- *err = g_error_new_valist (domain, code, format, args);
+ new = g_error_new_valist (domain, code, format, args);
va_end (args);
+
+ if (*err == NULL)
+ *err = new;
+ else
+ g_warning (ERROR_OVERWRITTEN_WARNING, new->message);
}
/**
@@ -225,9 +230,9 @@ g_propagate_error (GError **dest,
else
{
if (*dest != NULL)
- g_warning (ERROR_OVERWRITTEN_WARNING);
-
- *dest = src;
+ g_warning (ERROR_OVERWRITTEN_WARNING, src->message);
+ else
+ *dest = src;
}
}