[PATCH 2/2] CLI: add simple error handling for talloc logging

Subject: [PATCH 2/2] CLI: add simple error handling for talloc logging

Date: Tue, 29 Jan 2013 08:13:40 -0400

To: notmuch@notmuchmail.org

Cc: David Bremner

From: david@tethera.net


From: David Bremner <bremner@debian.org>

This really should have been there before. I think it's better to do
the actual operation and then possibly fail writing the memory log,
but it would not be too hard to change it to abort earlier.
---
 notmuch.c |   12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/notmuch.c b/notmuch.c
index a674481..cfb009b 100644
--- a/notmuch.c
+++ b/notmuch.c
@@ -294,10 +294,6 @@ main (int argc, char *argv[])
 
 	    ret = (command->function)(local, argc - opt_index, argv + opt_index);
 
-	    /* in the future support for this environment variable may
-	     * be supplemented or replaced by command line arguments
-	     * --leak-report and/or --leak-report-full */
-
 	    talloc_report = getenv ("NOTMUCH_TALLOC_REPORT");
 
 	    /* this relies on the previous call to
@@ -305,7 +301,13 @@ main (int argc, char *argv[])
 
 	    if (talloc_report && strcmp (talloc_report, "") != 0) {
 		FILE *report = fopen (talloc_report, "w");
-		talloc_report_full (NULL, report);
+		if (report) {
+		    talloc_report_full (NULL, report);
+		} else {
+		    ret = 1;
+		    fprintf (stderr, "ERROR: unable to write talloc log. ");
+		    perror (talloc_report);
+		}
 	    }
 
 	    return ret;
-- 
1.7.10.4


Thread: