lib: construct compactor within try block to catch any exceptions

Constructors may also throw exceptions. Catch them.
This commit is contained in:
Jani Nikula 2013-11-03 14:24:42 +02:00 committed by David Bremner
parent 425e73e146
commit 8e4e537cee

View file

@ -864,7 +864,6 @@ notmuch_database_compact (const char* path,
notmuch_compact_status_cb_t status_cb) notmuch_compact_status_cb_t status_cb)
{ {
void *local = talloc_new (NULL); void *local = talloc_new (NULL);
NotmuchCompactor compactor(status_cb);
char *notmuch_path, *xapian_path, *compact_xapian_path; char *notmuch_path, *xapian_path, *compact_xapian_path;
char *old_xapian_path = NULL; char *old_xapian_path = NULL;
notmuch_status_t ret = NOTMUCH_STATUS_SUCCESS; notmuch_status_t ret = NOTMUCH_STATUS_SUCCESS;
@ -910,6 +909,8 @@ notmuch_database_compact (const char* path,
} }
try { try {
NotmuchCompactor compactor(status_cb);
compactor.set_renumber(false); compactor.set_renumber(false);
compactor.add_source(xapian_path); compactor.add_source(xapian_path);
compactor.set_destdir(compact_xapian_path); compactor.set_destdir(compact_xapian_path);