[git commit] mail: move "opts" from globals

Denys Vlasenko vda.linux at googlemail.com
Thu Dec 17 11:24:50 UTC 2020


commit: https://git.busybox.net/busybox/commit/?id=25b2680056454dc4761ba3b2efde7c3414738f8c
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

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 at googlemail.com>
---
 mailutils/mail.c       | 6 +++---
 mailutils/mail.h       | 4 ----
 mailutils/makemime.c   | 1 +
 mailutils/popmaildir.c | 5 +++--
 mailutils/reformime.c  | 5 +++--
 mailutils/sendmail.c   | 9 +++++----
 6 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/mailutils/mail.c b/mailutils/mail.c
index 3a1fd6949..ce5267904 100644
--- a/mailutils/mail.c
+++ b/mailutils/mail.c
@@ -72,12 +72,12 @@ void FAST_FUNC launch_helper(const char **argv)
 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 b14228a4a..2fcd0802d 100644
--- a/mailutils/mail.h
+++ b/mailutils/mail.h
@@ -11,7 +11,6 @@ struct globals {
 	pid_t helper_pid;
 	unsigned timeout;
 	unsigned verbose;
-	unsigned opts;
 	char *user;
 	char *pass;
 	FILE *fp0; // initial stdin
@@ -19,9 +18,6 @@ struct globals {
 };
 
 #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 53a1820f1..1ff2012d5 100644
--- a/mailutils/makemime.c
+++ b/mailutils/makemime.c
@@ -173,6 +173,7 @@ Content-Transfer-Encoding: 7bit
 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 c5522f1b7..4f2d4124d 100644
--- a/mailutils/popmaildir.c
+++ b/mailutils/popmaildir.c
@@ -71,7 +71,7 @@ static void pop3_checkr(const char *fmt, const char *param, char **ret)
 	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 @@ static void pop3_check(const char *fmt, const char *param)
 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 @@ int popmaildir_main(int argc UNUSED_PARAM, char **argv)
 	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 307656a15..a1d3f4e8b 100644
--- a/mailutils/reformime.c
+++ b/mailutils/reformime.c
@@ -166,7 +166,7 @@ static int parse(const char *boundary, char **argv)
 			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 @@ static int parse(const char *boundary, char **argv)
 			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 @@ Usage: reformime [options]
 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 1bdc1c300..4bb90d3e2 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 @@ static int smtp_checkp(const char *fmt, const char *param, int code)
 	// 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 @@ static int smtp_checkp(const char *fmt, const char *param, int code)
 	}
 	if (answer) {
 		int n = atoi(answer);
-		if (timeout)
+		if (G.timeout)
 			alarm(0);
 		free(answer);
 		if (-1 == code || n == code) {
@@ -223,6 +223,7 @@ static void rcptto_list(const char *list)
 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 @@ int sendmail_main(int argc UNUSED_PARAM, char **argv)
 			// -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;


More information about the busybox-cvs mailing list