From 721c0d3ba4828c98bf397790d691507b3a0a1e6e Mon Sep 17 00:00:00 2001 From: David Bremner Date: Sun, 28 Dec 2014 18:33:49 +0100 Subject: [PATCH] [Patch v3 5/6] lib: replace almost all fprintfs in library with _n_d_log --- 15/3fda5173e9c7368ab5930928363b964d029a84 | 333 ++++++++++++++++++++++ 1 file changed, 333 insertions(+) create mode 100644 15/3fda5173e9c7368ab5930928363b964d029a84 diff --git a/15/3fda5173e9c7368ab5930928363b964d029a84 b/15/3fda5173e9c7368ab5930928363b964d029a84 new file mode 100644 index 000000000..453043dee --- /dev/null +++ b/15/3fda5173e9c7368ab5930928363b964d029a84 @@ -0,0 +1,333 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by olra.theworths.org (Postfix) with ESMTP id 1EB20429E40 + for ; Sun, 28 Dec 2014 09:38:41 -0800 (PST) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: 0 +X-Spam-Level: +X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none] + autolearn=disabled +Received: from olra.theworths.org ([127.0.0.1]) + by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id KZaCZ0DKgA47 for ; + Sun, 28 Dec 2014 09:38:36 -0800 (PST) +Received: from yantan.tethera.net (yantan.tethera.net [199.188.72.155]) + (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) + (No client certificate requested) + by olra.theworths.org (Postfix) with ESMTPS id B3F8D429E3B + for ; Sun, 28 Dec 2014 09:38:14 -0800 (PST) +Received: from remotemail by yantan.tethera.net with local (Exim 4.80) + (envelope-from ) + id 1Y5HnC-0002h4-CE; Sun, 28 Dec 2014 13:38:14 -0400 +Received: (nullmailer pid 11502 invoked by uid 1000); Sun, 28 Dec 2014 + 17:37:40 -0000 +From: David Bremner +To: notmuch@notmuchmail.org +Subject: [Patch v3 5/6] lib: replace almost all fprintfs in library with + _n_d_log +Date: Sun, 28 Dec 2014 18:33:49 +0100 +Message-Id: <1419788030-10567-6-git-send-email-david@tethera.net> +X-Mailer: git-send-email 2.1.3 +In-Reply-To: <1419788030-10567-1-git-send-email-david@tethera.net> +References: <1419788030-10567-1-git-send-email-david@tethera.net> +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.13 +Precedence: list +List-Id: "Use and development of the notmuch mail system." + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +X-List-Received-Date: Sun, 28 Dec 2014 17:38:41 -0000 + +This is not supposed to change any functionality from an end user +point of view. Note that it will eliminate some output to stderr. The +query debugging output is left as is; it doesn't really fit with the +current primitive logging model. The remaining "bad" fprintf will need +an internal API change. +--- + lib/database.cc | 34 +++++++++++++++++----------------- + lib/directory.cc | 4 ++-- + lib/index.cc | 11 +++++++---- + lib/message.cc | 6 +++--- + lib/query.cc | 8 ++++---- + 5 files changed, 33 insertions(+), 30 deletions(-) + +diff --git a/lib/database.cc b/lib/database.cc +index 9af1a47..19f5f0e 100644 +--- a/lib/database.cc ++++ b/lib/database.cc +@@ -493,7 +493,7 @@ notmuch_database_find_message (notmuch_database_t *notmuch, + + return NOTMUCH_STATUS_SUCCESS; + } catch (const Xapian::Error &error) { +- fprintf (stderr, "A Xapian exception occurred finding message: %s.\n", ++ _notmuch_database_log (notmuch, "A Xapian exception occurred finding message: %s.\n", + error.get_msg().c_str()); + notmuch->exception_reported = TRUE; + *message_ret = NULL; +@@ -725,7 +725,7 @@ notmuch_status_t + _notmuch_database_ensure_writable (notmuch_database_t *notmuch) + { + if (notmuch->mode == NOTMUCH_DATABASE_MODE_READ_ONLY) { +- fprintf (stderr, "Cannot write to a read-only database.\n"); ++ _notmuch_database_log (notmuch, "Cannot write to a read-only database.\n"); + return NOTMUCH_STATUS_READ_ONLY_DATABASE; + } + +@@ -1010,7 +1010,7 @@ notmuch_database_close (notmuch_database_t *notmuch) + } catch (const Xapian::Error &error) { + status = NOTMUCH_STATUS_XAPIAN_EXCEPTION; + if (! notmuch->exception_reported) { +- fprintf (stderr, "Error: A Xapian exception occurred closing database: %s\n", ++ _notmuch_database_log (notmuch, "Error: A Xapian exception occurred closing database: %s\n", + error.get_msg().c_str()); + } + } +@@ -1142,12 +1142,12 @@ notmuch_database_compact (const char *path, + } + + if (stat (backup_path, &statbuf) != -1) { +- fprintf (stderr, "Path already exists: %s\n", backup_path); ++ _notmuch_database_log (notmuch, "Path already exists: %s\n", backup_path); + ret = NOTMUCH_STATUS_FILE_ERROR; + goto DONE; + } + if (errno != ENOENT) { +- fprintf (stderr, "Unknown error while stat()ing path: %s\n", ++ _notmuch_database_log (notmuch, "Unknown error while stat()ing path: %s\n", + strerror (errno)); + ret = NOTMUCH_STATUS_FILE_ERROR; + goto DONE; +@@ -1167,20 +1167,20 @@ notmuch_database_compact (const char *path, + compactor.set_destdir (compact_xapian_path); + compactor.compact (); + } catch (const Xapian::Error &error) { +- fprintf (stderr, "Error while compacting: %s\n", error.get_msg().c_str()); ++ _notmuch_database_log (notmuch, "Error while compacting: %s\n", error.get_msg().c_str()); + ret = NOTMUCH_STATUS_XAPIAN_EXCEPTION; + goto DONE; + } + + if (rename (xapian_path, backup_path)) { +- fprintf (stderr, "Error moving %s to %s: %s\n", ++ _notmuch_database_log (notmuch, "Error moving %s to %s: %s\n", + xapian_path, backup_path, strerror (errno)); + ret = NOTMUCH_STATUS_FILE_ERROR; + goto DONE; + } + + if (rename (compact_xapian_path, xapian_path)) { +- fprintf (stderr, "Error moving %s to %s: %s\n", ++ _notmuch_database_log (notmuch, "Error moving %s to %s: %s\n", + compact_xapian_path, xapian_path, strerror (errno)); + ret = NOTMUCH_STATUS_FILE_ERROR; + goto DONE; +@@ -1188,7 +1188,7 @@ notmuch_database_compact (const char *path, + + if (! keep_backup) { + if (rmtree (backup_path)) { +- fprintf (stderr, "Error removing old database %s: %s\n", ++ _notmuch_database_log (notmuch, "Error removing old database %s: %s\n", + backup_path, strerror (errno)); + ret = NOTMUCH_STATUS_FILE_ERROR; + goto DONE; +@@ -1217,7 +1217,7 @@ notmuch_database_compact (unused (const char *path), + unused (notmuch_compact_status_cb_t status_cb), + unused (void *closure)) + { +- fprintf (stderr, "notmuch was compiled against a xapian version lacking compaction support.\n"); ++ _notmuch_database_log (notmuch, "notmuch was compiled against a xapian version lacking compaction support.\n"); + return NOTMUCH_STATUS_UNSUPPORTED_OPERATION; + } + #endif +@@ -1495,7 +1495,7 @@ notmuch_database_upgrade (notmuch_database_t *notmuch, + } + + if (private_status) { +- fprintf (stderr, ++ _notmuch_database_log (notmuch, + "Upgrade failed while creating ghost messages.\n"); + status = COERCE_STATUS (private_status, "Unexpected status from _notmuch_message_initialize_ghost"); + goto DONE; +@@ -1545,7 +1545,7 @@ notmuch_database_begin_atomic (notmuch_database_t *notmuch) + try { + (static_cast (notmuch->xapian_db))->begin_transaction (false); + } catch (const Xapian::Error &error) { +- fprintf (stderr, "A Xapian exception occurred beginning transaction: %s.\n", ++ _notmuch_database_log (notmuch, "A Xapian exception occurred beginning transaction: %s.\n", + error.get_msg().c_str()); + notmuch->exception_reported = TRUE; + return NOTMUCH_STATUS_XAPIAN_EXCEPTION; +@@ -1579,7 +1579,7 @@ notmuch_database_end_atomic (notmuch_database_t *notmuch) + if (thresh && atoi (thresh) == 1) + db->flush (); + } catch (const Xapian::Error &error) { +- fprintf (stderr, "A Xapian exception occurred committing transaction: %s.\n", ++ _notmuch_database_log (notmuch, "A Xapian exception occurred committing transaction: %s.\n", + error.get_msg().c_str()); + notmuch->exception_reported = TRUE; + return NOTMUCH_STATUS_XAPIAN_EXCEPTION; +@@ -1825,7 +1825,7 @@ notmuch_database_get_directory (notmuch_database_t *notmuch, + *directory = _notmuch_directory_create (notmuch, path, + NOTMUCH_FIND_LOOKUP, &status); + } catch (const Xapian::Error &error) { +- fprintf (stderr, "A Xapian exception occurred getting directory: %s.\n", ++ _notmuch_database_log (notmuch, "A Xapian exception occurred getting directory: %s.\n", + error.get_msg().c_str()); + notmuch->exception_reported = TRUE; + status = NOTMUCH_STATUS_XAPIAN_EXCEPTION; +@@ -2407,7 +2407,7 @@ notmuch_database_add_message (notmuch_database_t *notmuch, + + _notmuch_message_sync (message); + } catch (const Xapian::Error &error) { +- fprintf (stderr, "A Xapian exception occurred adding message: %s.\n", ++ _notmuch_database_log (notmuch, "A Xapian exception occurred adding message: %s.\n", + error.get_msg().c_str()); + notmuch->exception_reported = TRUE; + ret = NOTMUCH_STATUS_XAPIAN_EXCEPTION; +@@ -2499,7 +2499,7 @@ notmuch_database_find_message_by_filename (notmuch_database_t *notmuch, + status = NOTMUCH_STATUS_OUT_OF_MEMORY; + } + } catch (const Xapian::Error &error) { +- fprintf (stderr, "Error: A Xapian exception occurred finding message by filename: %s\n", ++ _notmuch_database_log (notmuch, "Error: A Xapian exception occurred finding message by filename: %s\n", + error.get_msg().c_str()); + notmuch->exception_reported = TRUE; + status = NOTMUCH_STATUS_XAPIAN_EXCEPTION; +@@ -2552,7 +2552,7 @@ notmuch_database_get_all_tags (notmuch_database_t *db) + _notmuch_string_list_sort (tags); + return _notmuch_tags_create (db, tags); + } catch (const Xapian::Error &error) { +- fprintf (stderr, "A Xapian exception occurred getting tags: %s.\n", ++ _notmuch_database_log (db, "A Xapian exception occurred getting tags: %s.\n", + error.get_msg().c_str()); + db->exception_reported = TRUE; + return NULL; +diff --git a/lib/directory.cc b/lib/directory.cc +index 8daaec8..b836ea2 100644 +--- a/lib/directory.cc ++++ b/lib/directory.cc +@@ -186,7 +186,7 @@ _notmuch_directory_create (notmuch_database_t *notmuch, + directory->mtime = Xapian::sortable_unserialise ( + directory->doc.get_value (NOTMUCH_VALUE_TIMESTAMP)); + } catch (const Xapian::Error &error) { +- fprintf (stderr, ++ _notmuch_database_log (notmuch, + "A Xapian exception occurred creating a directory: %s.\n", + error.get_msg().c_str()); + notmuch->exception_reported = TRUE; +@@ -228,7 +228,7 @@ notmuch_directory_set_mtime (notmuch_directory_t *directory, + + db->replace_document (directory->document_id, directory->doc); + } catch (const Xapian::Error &error) { +- fprintf (stderr, ++ _notmuch_database_log (notmuch, + "A Xapian exception occurred setting directory mtime: %s.\n", + error.get_msg().c_str()); + notmuch->exception_reported = TRUE; +diff --git a/lib/index.cc b/lib/index.cc +index 1a2e63d..9493549 100644 +--- a/lib/index.cc ++++ b/lib/index.cc +@@ -314,7 +314,8 @@ _index_mime_part (notmuch_message_t *message, + const char *charset; + + if (! part) { +- fprintf (stderr, "Warning: Not indexing empty mime part.\n"); ++ _notmuch_database_log (_notmuch_message_database (message), ++ "Warning: Not indexing empty mime part.\n"); + return; + } + +@@ -334,7 +335,8 @@ _index_mime_part (notmuch_message_t *message, + if (i == 1) + continue; + if (i > 1) +- fprintf (stderr, "Warning: Unexpected extra parts of multipart/signed. Indexing anyway.\n"); ++ _notmuch_database_log (_notmuch_message_database (message), ++ "Warning: Unexpected extra parts of multipart/signed. Indexing anyway.\n"); + } + if (GMIME_IS_MULTIPART_ENCRYPTED (multipart)) { + /* Don't index encrypted parts. */ +@@ -357,8 +359,9 @@ _index_mime_part (notmuch_message_t *message, + } + + if (! (GMIME_IS_PART (part))) { +- fprintf (stderr, "Warning: Not indexing unknown mime part: %s.\n", +- g_type_name (G_OBJECT_TYPE (part))); ++ _notmuch_database_log (_notmuch_message_database (message), ++ "Warning: Not indexing unknown mime part: %s.\n", ++ g_type_name (G_OBJECT_TYPE (part))); + return; + } + +diff --git a/lib/message.cc b/lib/message.cc +index 43cc078..541eabc 100644 +--- a/lib/message.cc ++++ b/lib/message.cc +@@ -252,7 +252,7 @@ _notmuch_message_create_for_message_id (notmuch_database_t *notmuch, + + doc_id = _notmuch_database_generate_doc_id (notmuch); + } catch (const Xapian::Error &error) { +- fprintf (stderr, "A Xapian exception occurred creating message: %s\n", ++ _notmuch_database_log(_notmuch_message_database (message), "A Xapian exception occurred creating message: %s\n", + error.get_msg().c_str()); + notmuch->exception_reported = TRUE; + *status_ret = NOTMUCH_PRIVATE_STATUS_XAPIAN_EXCEPTION; +@@ -467,7 +467,7 @@ notmuch_message_get_header (notmuch_message_t *message, const char *header) + return talloc_strdup (message, value.c_str ()); + + } catch (Xapian::Error &error) { +- fprintf (stderr, "A Xapian exception occurred when reading header: %s\n", ++ _notmuch_database_log(_notmuch_message_database (message), "A Xapian exception occurred when reading header: %s\n", + error.get_msg().c_str()); + message->notmuch->exception_reported = TRUE; + return NULL; +@@ -920,7 +920,7 @@ notmuch_message_get_date (notmuch_message_t *message) + try { + value = message->doc.get_value (NOTMUCH_VALUE_TIMESTAMP); + } catch (Xapian::Error &error) { +- fprintf (stderr, "A Xapian exception occurred when reading date: %s\n", ++ _notmuch_database_log(_notmuch_message_database (message), "A Xapian exception occurred when reading date: %s\n", + error.get_msg().c_str()); + message->notmuch->exception_reported = TRUE; + return 0; +diff --git a/lib/query.cc b/lib/query.cc +index 60ff8bd..9ed420c 100644 +--- a/lib/query.cc ++++ b/lib/query.cc +@@ -282,9 +282,9 @@ notmuch_query_search_messages (notmuch_query_t *query) + return &messages->base; + + } catch (const Xapian::Error &error) { +- fprintf (stderr, "A Xapian exception occurred performing query: %s\n", ++ _notmuch_database_log (notmuch, "A Xapian exception occurred performing query: %s\n", + error.get_msg().c_str()); +- fprintf (stderr, "Query string was: %s\n", query->query_string); ++ _notmuch_database_log (notmuch, "Query string was: %s\n", query->query_string); + notmuch->exception_reported = TRUE; + talloc_free (messages); + return NULL; +@@ -562,9 +562,9 @@ notmuch_query_count_messages (notmuch_query_t *query) + count = mset.get_matches_estimated(); + + } catch (const Xapian::Error &error) { +- fprintf (stderr, "A Xapian exception occurred: %s\n", ++ _notmuch_database_log (notmuch, "A Xapian exception occurred: %s\n", + error.get_msg().c_str()); +- fprintf (stderr, "Query string was: %s\n", query->query_string); ++ _notmuch_database_log (notmuch, "Query string was: %s\n", query->query_string); + } + + return count; +-- +2.1.3 + -- 2.26.2