X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsrc%2Fmoan.c;h=6c04f7a570560a5f8d465e55ba935eed916de279;hb=0d0e445543703d3294a16a17a4606c9eade7afcb;hp=5ef5fe42c3049ca508d573b204d740bdc06f6e34;hpb=0e22dfd114ef5e5db5913a5792a6d3a8df3b187b;p=exim.git diff --git a/src/src/moan.c b/src/src/moan.c index 5ef5fe42c..6c04f7a57 100644 --- a/src/src/moan.c +++ b/src/src/moan.c @@ -1,10 +1,8 @@ -/* $Cambridge: exim/src/src/moan.c,v 1.8 2007/02/06 11:11:40 ph10 Exp $ */ - /************************************************* * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2007 */ +/* Copyright (c) University of Cambridge 1995 - 2009 */ /* See the file NOTICE for conditions of use and distribution. */ /* Functions for sending messages to sender or to mailmaster. */ @@ -437,8 +435,8 @@ Returns: nothing */ void -moan_tell_someone(uschar *who, address_item *addr, uschar *subject, - char *format, ...) +moan_tell_someone(uschar *who, address_item *addr, + const uschar *subject, const char *format, ...) { FILE *f; va_list ap; @@ -505,7 +503,7 @@ Returns: does not return; exits from the program */ void -moan_smtp_batch(uschar *cmd_buffer, char *format, ...) +moan_smtp_batch(uschar *cmd_buffer, const char *format, ...) { va_list ap; int yield = (receive_messagecount > 0)? 1 : 2; @@ -584,7 +582,7 @@ if (errors_copy == NULL) return NULL; length of the local part. */ localpart = recipient; -domain = Ustrchr(recipient, '@'); +domain = Ustrrchr(recipient, '@'); if (domain == NULL) return NULL; /* should not occur, but avoid crash */ llen = domain++ - recipient; @@ -610,10 +608,7 @@ while ((item = string_nextinlist(&listptr, &sep, buffer, sizeof(buffer))) if (match_address_list(recipient, TRUE, TRUE, &pattern, NULL, 0, UCHAR_MAX+1, NULL) == OK) { - uschar temp[256]; - Ustrncpy(temp, localpart, llen); - temp[llen] = 0; - deliver_localpart = temp; + deliver_localpart = string_copyn(localpart, llen); deliver_domain = domain; yield = expand_string_copy(newaddress); deliver_domain = deliver_localpart = NULL;