From: Timo Sirainen Date: Wed, 7 Apr 2010 00:03:53 +0000 (+0300) Subject: dsync: Added -D (debug) parameter. X-Git-Tag: 2.0.beta5~179 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=947f69b5f9c0a2bd1d2283f102d8ae94feda9efb;p=thirdparty%2Fdovecot%2Fcore.git dsync: Added -D (debug) parameter. --HG-- branch : HEAD --- diff --git a/src/dsync/dsync.c b/src/dsync/dsync.c index 7847f66687..169cf53418 100644 --- a/src/dsync/dsync.c +++ b/src/dsync/dsync.c @@ -75,7 +75,8 @@ dsync_connected(const struct master_service_connection *conn ATTR_UNUSED) int main(int argc, char *argv[]) { enum mail_storage_service_flags ssflags = - MAIL_STORAGE_SERVICE_FLAG_NO_CHDIR; + MAIL_STORAGE_SERVICE_FLAG_NO_CHDIR | + MAIL_STORAGE_SERVICE_FLAG_NO_LOG_INIT; enum dsync_brain_flags brain_flags = 0; struct mail_storage_service_ctx *storage_service; struct mail_storage_service_user *service_user; @@ -85,12 +86,13 @@ int main(int argc, char *argv[]) const char *error, *username, *mailbox = NULL, *mirror_cmd = NULL; const char *convert_location = NULL; bool dsync_server = FALSE, readonly = FALSE, unexpected_changes = FALSE; + bool dsync_debug = FALSE; char alt_char = '_'; int c, ret, fd_in = STDIN_FILENO, fd_out = STDOUT_FILENO; master_service = master_service_init("dsync", MASTER_SERVICE_FLAG_STANDALONE, - &argc, &argv, "C:fm:ru:v"); + &argc, &argv, "C:Dfm:ru:v"); username = getenv("USER"); while ((c = master_getopt(master_service)) > 0) { @@ -100,6 +102,11 @@ int main(int argc, char *argv[]) case 'C': alt_char = optarg[0]; break; + case 'D': + dsync_debug = TRUE; + brain_flags |= DSYNC_BRAIN_FLAG_VERBOSE; + ssflags |= MAIL_STORAGE_SERVICE_FLAG_DEBUG; + break; case 'm': mailbox = optarg; break; @@ -138,6 +145,11 @@ int main(int argc, char *argv[]) usage(); master_service_init_finish(master_service); + if (!dsync_debug) { + /* disable debugging unless -D is given */ + i_set_debug_file("/dev/null"); + } + memset(&input, 0, sizeof(input)); input.module = "mail"; input.service = "dsync";