mail: move "opts" from globals
function old new delta
popmaildir_main 812 823 +11
sendmail_main 1295 1301 +6
makemime_main 291 288 -3
parse 970 966 -4
reformime_main 107 100 -7
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/3 up/down: 17/-14) Total: 3 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/mailutils/mail.c b/mailutils/mail.c
index 3a1fd69..ce52679 100644
--- a/mailutils/mail.c
+++ b/mailutils/mail.c
@@ -72,12 +72,12 @@
char* FAST_FUNC send_mail_command(const char *fmt, const char *param)
{
char *msg;
- if (timeout)
- alarm(timeout);
+ if (G.timeout)
+ alarm(G.timeout);
msg = (char*)fmt;
if (fmt) {
msg = xasprintf(fmt, param);
- if (verbose)
+ if (G.verbose)
bb_error_msg("send:'%s'", msg);
printf("%s\r\n", msg);
}
diff --git a/mailutils/mail.h b/mailutils/mail.h
index b14228a..2fcd080 100644
--- a/mailutils/mail.h
+++ b/mailutils/mail.h
@@ -11,7 +11,6 @@
pid_t helper_pid;
unsigned timeout;
unsigned verbose;
- unsigned opts;
char *user;
char *pass;
FILE *fp0; // initial stdin
@@ -19,9 +18,6 @@
};
#define G (*ptr_to_globals)
-#define timeout (G.timeout )
-#define verbose (G.verbose )
-#define opts (G.opts )
#define INIT_G() do { \
SET_PTR_TO_GLOBALS(xzalloc(sizeof(G))); \
G.opt_charset = (char *)CONFIG_FEATURE_MIME_CHARSET; \
diff --git a/mailutils/makemime.c b/mailutils/makemime.c
index 53a1820..1ff2012 100644
--- a/mailutils/makemime.c
+++ b/mailutils/makemime.c
@@ -173,6 +173,7 @@
int makemime_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int makemime_main(int argc UNUSED_PARAM, char **argv)
{
+ unsigned opts;
llist_t *opt_headers = NULL, *l;
const char *opt_output;
const char *content_type = "application/octet-stream";
diff --git a/mailutils/popmaildir.c b/mailutils/popmaildir.c
index c5522f1..4f2d412 100644
--- a/mailutils/popmaildir.c
+++ b/mailutils/popmaildir.c
@@ -71,7 +71,7 @@
char *answer = xmalloc_fgetline(stdin);
if (answer && '+' == answer[0]) {
free(msg);
- if (timeout)
+ if (G.timeout)
alarm(0);
if (ret) {
// skip "+OK "
@@ -92,6 +92,7 @@
int popmaildir_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int popmaildir_main(int argc UNUSED_PARAM, char **argv)
{
+ unsigned opts;
char *buf;
unsigned nmsg;
char *hostname;
@@ -128,7 +129,7 @@
opts = getopt32(argv, "^"
"bdmVcasTkt:+" "R:+Z:L:+H:+" IF_FEATURE_POPMAILDIR_DELIVERY("M:F:")
"\0" "-1:dd",
- &timeout, NULL, NULL, NULL, &opt_nlines
+ &G.timeout, NULL, NULL, NULL, &opt_nlines
IF_FEATURE_POPMAILDIR_DELIVERY(, &delivery, &delivery) // we treat -M and -F the same
);
//argc -= optind;
diff --git a/mailutils/reformime.c b/mailutils/reformime.c
index 307656a..a1d3f4e 100644
--- a/mailutils/reformime.c
+++ b/mailutils/reformime.c
@@ -166,7 +166,7 @@
else
filename = bb_get_last_path_component_strip(xstrdup(filename));
- if (opts & OPT_X) {
+ if (option_mask32 & OPT_X) {
int fd[2];
/* start external helper */
@@ -219,7 +219,7 @@
fclose(fp);
/* Wait for child */
- if (opts & OPT_X) {
+ if (option_mask32 & OPT_X) {
int rc;
signal(SIGPIPE, SIG_DFL);
rc = (wait4pid(pid) & 0xff);
@@ -275,6 +275,7 @@
int reformime_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int reformime_main(int argc UNUSED_PARAM, char **argv)
{
+ unsigned opts;
const char *opt_prefix = "";
INIT_G();
diff --git a/mailutils/sendmail.c b/mailutils/sendmail.c
index 1bdc1c3..4bb90d3 100644
--- a/mailutils/sendmail.c
+++ b/mailutils/sendmail.c
@@ -104,7 +104,7 @@
static void send_r_n(const char *s)
{
- if (verbose)
+ if (G.verbose)
bb_error_msg("send:'%s'", s);
printf("%s\r\n", s);
}
@@ -120,7 +120,7 @@
// if code != -1 then checks whether the number equals the code
// if not equal -> die saying msg
while ((answer = xmalloc_fgetline(stdin)) != NULL) {
- if (verbose)
+ if (G.verbose)
bb_error_msg("recv:'%.*s'", (int)(strchrnul(answer, '\r') - answer), answer);
if (strlen(answer) <= 3 || '-' != answer[3])
break;
@@ -128,7 +128,7 @@
}
if (answer) {
int n = atoi(answer);
- if (timeout)
+ if (G.timeout)
alarm(0);
free(answer);
if (-1 == code || n == code) {
@@ -223,6 +223,7 @@
int sendmail_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int sendmail_main(int argc UNUSED_PARAM, char **argv)
{
+ unsigned opts;
char *opt_connect;
char *opt_from = NULL;
char *s;
@@ -276,7 +277,7 @@
// -v is a counter, -H and -S are mutually exclusive, -a is a list
"vv:H--S:S--H",
&opt_from, NULL,
- &timeout, &opt_connect, &opt_connect, &list, &verbose
+ &G.timeout, &opt_connect, &opt_connect, &list, &G.verbose
);
//argc -= optind;
argv += optind;