[misc] Add vsc_error_reset().
authorMatthias Bolte <matthias.bolte@googlemail.com>
Mon, 8 Jun 2009 09:24:26 +0000 (11:24 +0200)
committerMatthias Bolte <matthias.bolte@googlemail.com>
Mon, 8 Jun 2009 09:24:26 +0000 (11:24 +0200)
Signed-off-by: Matthias Bolte <matthias.bolte@googlemail.com>

include/libvscmisc/error.h
misc/error.c

index 5cb0c6f..326209c 100644 (file)
@@ -57,6 +57,9 @@ vsc_error_init (struct VscError *error);
 void
 vsc_error_cleanup (struct VscError *error);
 
+void
+vsc_error_reset (struct VscError *error);
+
 struct VscError *
 vsc_error_new (void);
 
index 6313c39..4514a6c 100644 (file)
@@ -188,6 +188,13 @@ vsc_error_cleanup (struct VscError *error)
        }
 }
 
+void
+vsc_error_reset (struct VscError *error)
+{
+       vsc_error_cleanup (error);
+       vsc_error_init (error);
+}
+
 struct VscError *
 vsc_error_new (void)
 {
@@ -218,9 +225,10 @@ vsc_error_free (struct VscError **error)
                return;
        }
 
-       if ((*error)->branch) {
+       if ((*error)->branch != NULL) {
                vsc_error_cleanup ((*error)->branch);
        }
+
        vsc_free (&(*error)->branch);
 }