lib/database: reduce try block scope to things that really need it

No need to maintain the pure C stuff within a try block, it's arguably
confusing. This also reduces indent for a bunch of code. No functional
changes.
This commit is contained in:
Jani Nikula 2016-12-17 18:26:54 +02:00 committed by David Bremner
parent d6a735423b
commit d56a801b67

View file

@ -2493,7 +2493,6 @@ notmuch_database_add_message (notmuch_database_t *notmuch,
if (ret)
goto DONE;
try {
/* Before we do any real work, (especially before doing a
* potential SHA-1 computation on the entire file's contents),
* let's make sure that what we're looking at looks like an
@ -2505,28 +2504,29 @@ notmuch_database_add_message (notmuch_database_t *notmuch,
if ((from == NULL || *from == '\0') &&
(subject == NULL || *subject == '\0') &&
(to == NULL || *to == '\0'))
{
(to == NULL || *to == '\0')) {
ret = NOTMUCH_STATUS_FILE_NOT_EMAIL;
goto DONE;
}
/* Now that we're sure it's mail, the first order of business
* is to find a message ID (or else create one ourselves). */
* is to find a message ID (or else create one ourselves).
*/
header = _notmuch_message_file_get_header (message_file, "message-id");
if (header && *header != '\0') {
message_id = _parse_message_id (message_file, header, NULL);
/* So the header value isn't RFC-compliant, but it's
* better than no message-id at all. */
* better than no message-id at all.
*/
if (message_id == NULL)
message_id = talloc_strdup (message_file, header);
}
if (message_id == NULL ) {
/* No message-id at all, let's generate one by taking a
* hash over the file's contents. */
* hash over the file's contents.
*/
char *sha1 = _notmuch_sha1_of_file (filename);
/* If that failed too, something is really wrong. Give up. */
@ -2535,11 +2535,11 @@ notmuch_database_add_message (notmuch_database_t *notmuch,
goto DONE;
}
message_id = talloc_asprintf (message_file,
"notmuch-sha1-%s", sha1);
message_id = talloc_asprintf (message_file, "notmuch-sha1-%s", sha1);
free (sha1);
}
try {
/* Now that we have a message ID, we get a message object,
* (which may or may not reference an existing document in the
* database). */