]> git.notmuchmail.org Git - notmuch/commitdiff
CLI: add simple error handling for talloc logging
authorDavid Bremner <bremner@debian.org>
Tue, 29 Jan 2013 12:13:40 +0000 (08:13 -0400)
committerDavid Bremner <bremner@debian.org>
Sat, 9 Feb 2013 02:00:21 +0000 (22:00 -0400)
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

index a674481fe497059ddc43b581bc41e9165da94877..cfb009ba5036eeff5235dc4b792d4bbeb2133f5f 100644 (file)
--- 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;