void mutt_make_forward_subject (ENVELOPE *env, CONTEXT *ctx, HEADER *cur) { char buffer[STRING]; /* set the default subject for the message. */ mutt_make_string (buffer, sizeof (buffer), NONULL(ForwFmt), ctx, cur); mutt_str_replace (&env->subject, buffer); }
void mutt_make_post_indent (CONTEXT *ctx, HEADER *cur, FILE *out) { char buffer[STRING]; if (PostIndentString) { mutt_make_string (buffer, sizeof (buffer), PostIndentString, ctx, cur); fputs (buffer, out); fputc ('\n', out); } }
void mutt_make_attribution (CONTEXT *ctx, HEADER *cur, FILE *out) { char buffer[STRING]; if (Attribution) { mutt_make_string (buffer, sizeof (buffer), Attribution, ctx, cur); fputs (buffer, out); fputc ('\n', out); } }
static int mutt_addr_hook (char *path, size_t pathlen, int type, CONTEXT *ctx, HEADER *hdr) { HOOK *hook; /* determine if a matching hook exists */ for (hook = Hooks; hook; hook = hook->next) { if(!hook->command) continue; if (hook->type & type) if ((mutt_pattern_exec (hook->pattern, 0, ctx, hdr) > 0) ^ hook->rx.not) { mutt_make_string (path, pathlen, hook->command, ctx, hdr); return 0; } } return -1; }