mail: commonalize send_r_n()
No binary (build failed)
—
(log yok)
| @@ -69,6 +69,13 @@ void FAST_FUNC launch_helper(const char **argv) | |
| // parent goes on | |
| } | |
| + | void FAST_FUNC send_r_n(const char *s) |
| + | { |
| + | if (G.verbose) |
| + | bb_error_msg("send:'%s'", s); |
| + | printf("%s\r\n", s); |
| + | } |
| + | |
| char* FAST_FUNC send_mail_command(const char *fmt, const char *param) | |
| { | |
| char *msg; | |
| @@ -77,9 +84,7 @@ char* FAST_FUNC send_mail_command(const char *fmt, const char *param) | |
| msg = (char*)fmt; | |
| if (fmt) { | |
| msg = xasprintf(fmt, param); | |
| - | if (G.verbose) |
| - | bb_error_msg("send:'%s'", msg); |
| - | printf("%s\r\n", msg); |
| + | send_r_n(msg); |
| } | |
| fflush_all(); | |
| return msg; | |
| @@ -28,6 +28,7 @@ struct globals { | |
| void launch_helper(const char **argv) FAST_FUNC; | |
| void get_cred_or_die(int fd) FAST_FUNC; | |
| + | void send_r_n(const char *s) FAST_FUNC; |
| char *send_mail_command(const char *fmt, const char *param) FAST_FUNC; | |
| void printbuf_base64(const char *buf, unsigned len) FAST_FUNC; | |
| @@ -68,6 +68,7 @@ | |
| static void pop3_checkr(const char *fmt, const char *param, char **ret) | |
| { | |
| char *msg = send_mail_command(fmt, param); | |
| + | //FIXME: limit max len!!! |
| char *answer = xmalloc_fgetline(stdin); | |
| if (answer && '+' == answer[0]) { | |
| free(msg); | |
| @@ -102,13 +102,6 @@ | |
| // set to 0 to not limit | |
| #define MAX_HEADERS 256 | |
| - | static void send_r_n(const char *s) |
| - | { |
| - | if (G.verbose) |
| - | bb_error_msg("send:'%s'", s); |
| - | printf("%s\r\n", s); |
| - | } |
| - | |
| static int smtp_checkp(const char *fmt, const char *param, int code) | |
| { | |
| char *answer; | |
| @@ -119,6 +112,7 @@ static int smtp_checkp(const char *fmt, const char *param, int code) | |
| // if code = -1 then just return this number | |
| // if code != -1 then checks whether the number equals the code | |
| // if not equal -> die saying msg | |
| + | //FIXME: limit max len!!! |
| while ((answer = xmalloc_fgetline(stdin)) != NULL) { | |
| if (G.verbose) | |
| bb_error_msg("recv:'%.*s'", (int)(strchrnul(answer, '\r') - answer), answer); | |
| @@ -426,6 +420,7 @@ int sendmail_main(int argc UNUSED_PARAM, char **argv) | |
| // this means we scan stdin for To:, Cc:, Bcc: lines until an empty line | |
| // and then use the rest of stdin as message body | |
| code = 0; // set "analyze headers" mode | |
| + | //FIXME: limit max len!!! |
| while ((s = xmalloc_fgetline(G.fp0)) != NULL) { | |
| dump: | |
| // put message lines doubling leading dots | |