44 |
#include <mailutils/mailbox.h> |
#include <mailutils/mailbox.h> |
45 |
|
|
46 |
#include <argcv.h> |
#include <argcv.h> |
|
#include <mu_asprintf.h> |
|
47 |
|
|
48 |
#define ARG_LOG_FACILITY 1 |
#define ARG_LOG_FACILITY 1 |
49 |
#define ARG_LOCK_FLAGS 2 |
#define ARG_LOCK_FLAGS 2 |
637 |
} |
} |
638 |
else |
else |
639 |
{ |
{ |
640 |
char* userrc = NULL; |
char *userrc = NULL; |
641 |
|
|
642 |
mu_asprintf(&userrc, "%s/mailutils", MU_USER_CONFIG_FILE); |
userrc = malloc (sizeof (MU_USER_CONFIG_FILE) /* provides an extra slot |
643 |
|
for null byte as well */ |
644 |
|
+ 1 /* slash */ |
645 |
|
+ 9 /*mailutils*/); |
646 |
|
|
647 |
if (!userrc) |
if (!userrc) |
648 |
{ |
{ |
649 |
fprintf (stderr, "%s: not enough memory\n", progname); |
fprintf (stderr, "%s: not enough memory\n", progname); |
650 |
exit (1); |
exit (1); |
651 |
} |
} |
652 |
|
|
653 |
|
sprintf(userrc, "%s/mailutils", MU_USER_CONFIG_FILE); |
654 |
read_rc (progname, userrc, capa, &x_argc, &x_argv); |
read_rc (progname, userrc, capa, &x_argc, &x_argv); |
655 |
|
|
656 |
free(userrc); |
free(userrc); |
658 |
|
|
659 |
/* Add per-user, per-program config file. */ |
/* Add per-user, per-program config file. */ |
660 |
{ |
{ |
661 |
char* progrc = NULL; |
char *progrc = NULL; |
662 |
|
int size; |
663 |
|
|
664 |
if(rcdir) |
if (rcdir) |
665 |
mu_asprintf(&progrc, "%s/%src", MU_USER_CONFIG_FILE, progname); |
size = sizeof (MU_USER_CONFIG_FILE) |
666 |
|
+ 1 |
667 |
|
+ strlen (progname) |
668 |
|
+ 2 /* rc */; |
669 |
else |
else |
670 |
mu_asprintf(&progrc, "~/.mu.%src", progname); |
size = 6 /*~/.mu.*/ |
671 |
|
+ strlen (progname) |
672 |
|
+ 3 /* "rc" + null terminator */; |
673 |
|
|
674 |
|
progrc = malloc (size); |
675 |
|
|
676 |
if (!progrc) |
if (!progrc) |
677 |
{ |
{ |
679 |
exit (1); |
exit (1); |
680 |
} |
} |
681 |
|
|
682 |
|
if (rcdir) |
683 |
|
sprintf (progrc, "%s/%src", MU_USER_CONFIG_FILE, progname); |
684 |
|
else |
685 |
|
sprintf (progrc, "~/.mu.%src", progname); |
686 |
|
|
687 |
read_rc (NULL, progrc, capa, &x_argc, &x_argv); |
read_rc (NULL, progrc, capa, &x_argc, &x_argv); |
688 |
free (progrc); |
free (progrc); |
689 |
} |
} |