aboutsummaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c25
1 files changed, 18 insertions, 7 deletions
diff --git a/src/main.c b/src/main.c
index 938a82b6..1fd51941 100644
--- a/src/main.c
+++ b/src/main.c
@@ -35,8 +35,11 @@
#include <netdb.h>
#include <mailutils/mailutils.h>
-#include <mailutils/argp.h>
-
+#if MAILUTILS_VERSION_NUMBER < 1290
+# include <mailutils/argp.h>
+#else
+# include <mailutils/libargp.h>
+#endif
#include "mailfromd.h"
#include "syslog_async.h"
@@ -404,7 +407,7 @@ set_mailfrom(void *value)
rc = mu_address_create(&addr, value);
if (rc) {
mu_error(_("Cannot create address `%s': %s"),
- value, mu_strerror(rc));
+ (char*)value, mu_strerror(rc));
return;
}
mu_address_destroy(&addr);
@@ -1443,13 +1446,13 @@ switch_to_privs(uid_t uid, gid_t gid)
#if defined(HAVE_SETREUID)
if (geteuid() != uid) {
if (setreuid(uid, -1) < 0) {
- mu_error(_("setreuid(%lu,-1) failed"),
+ mu_error(_("setreuid(%lu,-1) failed: %s"),
(unsigned long) uid,
mu_strerror(errno));
rc = 1;
}
if (setuid(uid) < 0) {
- mu_error(_("second setuid(%lu) failed"),
+ mu_error(_("second setuid(%lu) failed: %s"),
(unsigned long) uid,
mu_strerror(errno));
rc = 1;
@@ -1457,7 +1460,7 @@ switch_to_privs(uid_t uid, gid_t gid)
} else
#endif
{
- mu_error(_("setuid(%lu) failed"),
+ mu_error(_("setuid(%lu) failed: %s"),
(unsigned long) uid,
mu_strerror(errno));
rc = 1;
@@ -1756,6 +1759,7 @@ version(FILE *stream, struct argp_state *state)
int
main(int argc, char **argv)
{
+ int rc;
int index;
#ifdef ENABLE_NLS
@@ -1782,8 +1786,15 @@ main(int argc, char **argv)
db_format_setup();
include_path_setup();
save_cmdline(argc, argv);
+
mu_argp_init(program_version, "<" PACKAGE_BUGREPORT ">");
- mu_argp_parse(&argp, &argc, &argv, 0, capa, &index, NULL);
+#if MAILUTILS_VERSION_NUMBER < 1290
+ rc = mu_argp_parse(&argp, &argc, &argv, 0, capa, &index, NULL);
+#else
+ rc = mu_app_init(&argp, capa, NULL, argc, argv, 0, &index, NULL);
+#endif
+ if (rc)
+ exit (EX_CONFIG);
log_setup(log_to_stderr);

Return to:

Send suggestions and report system problems to the System administrator.