/*++ /* NAME /* mail_addr_crunch 3 /* SUMMARY /* parse and canonicalize addresses, apply address extension /* SYNOPSIS /* #include <mail_addr_crunch.h> /* /* ARGV *mail_addr_crunch_ext_to_int(string, extension) /* const char *string; /* const char *extension; /* /* ARGV *mail_addr_crunch_opt(string, extension, in_form, out_form) /* const char *string; /* const char *extension; /* int in_form; /* int out_form; /* DESCRIPTION /* mail_addr_crunch_*() parses a string with zero or more addresses, /* rewrites each address to canonical form, and optionally applies /* an address extension to each resulting address. The caller is /* expected to pass the result to argv_free(). /* /* With mail_addr_crunch_ext_to_int(), the string is in external /* form, and the result is in internal form. This API minimizes /* the number of conversions between internal and external forms. /* /* mail_addr_crunch_opt() gives more control, at the cost of /* additional conversions between internal and external forms. /* /* Arguments: /* .IP string /* A string with zero or more addresses in external (quoted) /* form, or in the form specified with the in_form argument. /* .IP extension /* A null pointer, or an address extension (including the recipient /* address delimiter) that is propagated to all result addresses. /* This is in internal (unquoted) form. /* .IP in_form /* .IP out_form /* Input and output address forms, either MA_FORM_INTERNAL /* (unquoted form) or MA_FORM_EXTERNAL (quoted form). /* DIAGNOSTICS /* Fatal error: out of memory. /* SEE ALSO /* tok822_parse(3), address parser /* canon_addr(3), address canonicalization /* LICENSE /* .ad /* .fi /* The Secure Mailer license must be distributed with this software. /* AUTHOR(S) /* Wietse Venema /* IBM T.J. Watson Research /* P.O. Box 704 /* Yorktown Heights, NY 10598, USA /* /* Wietse Venema /* Google, Inc. /* 111 8th Avenue /* New York, NY 10011, USA
/*--*/
if (do_prompt) {
vstream_printf("print strings to be translated, one per line\n");
vstream_fflush(VSTREAM_OUT);
} while (vstring_get_nonl(buf, VSTREAM_IN) != VSTREAM_EOF) {
argv = mail_addr_crunch_opt(STR(buf), (VSTRING_LEN(extension) ?
STR(extension) : 0),
in_form, out_form); for (cpp = argv->argv; *cpp; cpp++)
vstream_printf("|%s|\n", *cpp);
vstream_fflush(VSTREAM_OUT);
argv_free(argv);
}
vstring_free(extension);
vstring_free(buf); return (0);
}
#endif
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.0Bemerkung:
(vorverarbeitet am 2026-08-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.