Mercurial > dovecot > core-2.2
diff src/lda/main.c @ 10119:1e63221f5c83 HEAD
Moved most of getopt() handling to lib-master.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 20 Oct 2009 20:07:45 -0400 |
parents | 4fe8c4382712 |
children | b584904d3bc7 |
line wrap: on
line diff
--- a/src/lda/main.c Tue Oct 20 19:44:57 2009 -0400 +++ b/src/lda/main.c Tue Oct 20 20:07:45 2009 -0400 @@ -244,7 +244,7 @@ }; struct mail_deliver_context ctx; enum mail_storage_service_flags service_flags = 0; - const char *user, *errstr, *path, *getopt_str; + const char *user, *errstr, *path; struct mail_storage_service_input service_input; struct mail_user *raw_mail_user; struct mail_namespace *raw_ns; @@ -287,7 +287,7 @@ master_service = master_service_init("lda", MASTER_SERVICE_FLAG_STANDALONE | MASTER_SERVICE_FLAG_DONT_LOG_TO_STDERR, - argc, argv); + argc, argv, "a:d:p:ekm:nsf:"); memset(&ctx, 0, sizeof(ctx)); ctx.pool = pool_alloconly_create("mail deliver context", 256); @@ -295,9 +295,7 @@ path = NULL; user = getenv("USER"); - getopt_str = t_strconcat("a:d:p:ekm:nsf:", - master_service_getopt_string(), NULL); - while ((c = getopt(argc, argv, getopt_str)) > 0) { + while ((c = master_getopt(master_service)) > 0) { switch (c) { case 'a': /* destination address */ @@ -341,12 +339,8 @@ p_strdup(ctx.pool, address_sanitize(optarg)); break; default: - if (!master_service_parse_option(master_service, - c, optarg)) { - print_help(); - exit(EX_USAGE); - } - break; + print_help(); + return EX_USAGE; } } if (optind != argc) {