+ escape_display_name(fullname, sizeof(fullname));
+
+ /* localmbox and mboxname */
+ /* If there's a Local-Mailbox profile component, try to extract
+ the username from it. But don't try very hard, this assumes
+ the very simple User Name <user@name.com> form.
+ Note that post(8) uses context_foil(), so it won't see the profile
+ component. */
+ if ((np = context_find("Local-Mailbox")) != NULL) {
+ char *left_angle_bracket = strchr (np, '<');
+ char *at_sign = strchr (np, '@');
+ char *right_angle_bracket = strchr (np, '>');
+
+ strncpy(localmbox, np, sizeof(localmbox) - 1);
+
+ if (left_angle_bracket && at_sign && right_angle_bracket) {
+ if (at_sign > left_angle_bracket &&
+ at_sign - left_angle_bracket < BUFSIZ) {
+ strncpy(mboxname, left_angle_bracket + 1,
+ at_sign - left_angle_bracket - 1);
+ }
+ }
+ } else {
+ snprintf(localmbox, sizeof(localmbox), "%s <%s@%s>", fullname,
+ username, LocalName(0));