68 const char *sender,
const RECIPIENT *rcpt_info)
70 ssize_t send_local_len;
71 ssize_t rcpt_local_len;
72 const char *recipient;
81 send_local_len = ((cp = strrchr(sender,
'@')) != 0 ?
82 cp - sender : strlen(sender));
85 rcpt_local_len = ((cp = strrchr(recipient,
'@')) != 0 ?
86 cp - recipient : strlen(recipient));
90 if (recipient[rcpt_local_len] && recipient[rcpt_local_len + 1]) {
94 if (sender[send_local_len] && sender[send_local_len + 1]) {
106 if (strlen(delims) != 2)
107 return (
"bad VERP delimiter character count");
109 return (
"bad first VERP delimiter character");
111 return (
"bad second VERP delimiter character");
VSTRING * vstring_strncat(VSTRING *vp, const char *src, ssize_t len)
VSTRING * verp_sender(VSTRING *buf, const char *delimiters, const char *sender, const RECIPIENT *rcpt_info)
#define VSTRING_TERMINATE(vp)
#define VSTRING_ADDCH(vp, ch)
const char * verp_delims_verify(const char *delims)
VSTRING * vstring_strncpy(VSTRING *vp, const char *src, ssize_t len)
VSTRING * vstring_strcat(VSTRING *vp, const char *src)