From 1a8de6e1dbee1f56b5a56d8543d5f23f0fe3e751 Mon Sep 17 00:00:00 2001 From: "Dirk-Jan C. Binnema" Date: Sun, 12 Sep 2010 21:39:15 +0300 Subject: [PATCH] * mu-maildir: return right MuResult from callback --- src/mu-maildir.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/mu-maildir.c b/src/mu-maildir.c index 981daaa1..9dba0c97 100644 --- a/src/mu-maildir.c +++ b/src/mu-maildir.c @@ -519,13 +519,14 @@ process_dir (const char* path, const char* mdir, dir = opendir (path); if (G_UNLIKELY(!dir)) { - g_warning ("%s: ignoring %s: %s", path, - __FUNCTION__, strerror(errno)); + g_warning ("%s: ignoring %s: %s", __FUNCTION__, + path, strerror(errno)); return MU_OK; } if (dir_cb) { - MuResult rv = dir_cb (path, TRUE, data); + MuResult rv; + rv = dir_cb (path, TRUE, data); if (rv != MU_OK) { closedir (dir); return rv; @@ -534,10 +535,10 @@ process_dir (const char* path, const char* mdir, result = process_dir_entries_sorted (dir, path, mdir, msg_cb, dir_cb, data); - closedir (dir); - if (dir_cb) + /* only run dir_cb if it exists and so far, things went ok */ + if (dir_cb && result == MU_OK) return dir_cb (path, FALSE, data); return result;