85 int in_form,
int out_form)
98 extlen = strlen(extension);
100 #define STR(x) vstring_str(x)
107 string =
STR(extern_addr);
118 if (*
string == 0 || strcmp(
string,
"<>") == 0)
124 for (tpp = addr_list; *tpp; tpp++) {
130 if ((ratsign = strrchr(
STR(intern_addr),
'@')) == 0) {
133 memmove(ratsign + extlen, ratsign, strlen(ratsign) + 1);
134 memcpy(ratsign, extension, extlen);
147 myfree((
void *) addr_list);
175 static int get_addr_form(
const char *prompt,
VSTRING *buf)
190 int main(
int unused_argc,
char **unused_argv)
196 int do_prompt = isatty(0);
204 in_form = get_addr_form(do_prompt ?
"input form" : 0, buf);
205 out_form = get_addr_form(do_prompt ?
"output form" : 0, buf);
221 for (cpp = argv->
argv; *cpp; cpp++)
int vstring_get_nonl(VSTRING *vp, VSTREAM *fp)
ARGV * argv_free(ARGV *argvp)
TOK822 ** tok822_grep(TOK822 *, int)
int main(int argc, char **argv)
VSTRING * unquote_822_local(VSTRING *dst, const char *mbox)
void argv_add(ARGV *argvp,...)
ARGV * argv_alloc(ssize_t len)
VSTRING * vstring_strcpy(VSTRING *vp, const char *src)
TOK822 * tok822_free_tree(TOK822 *)
void mail_conf_read(void)
VSTRING * canon_addr_external(VSTRING *result, const char *addr)
VSTREAM * vstream_printf(const char *fmt,...)
VSTRING * vstring_alloc(ssize_t len)
VSTRING * tok822_externalize(VSTRING *, TOK822 *, int)
NORETURN msg_fatal(const char *fmt,...)
ARGV * mail_addr_crunch_opt(const char *string, const char *extension, int in_form, int out_form)
int vstream_fflush(VSTREAM *stream)
#define VSTRING_SPACE(vp, len)
#define quote_822_local(dst, src)
VSTRING * vstring_free(VSTRING *vp)
VSTRING * vstring_strcat(VSTRING *vp, const char *src)
void argv_terminate(ARGV *argvp)