360
360
rfc822_cat(buffer, sizeof(buffer), chsbuf, MimeSpecials);
361
361
fputs(buffer, out);
362
362
fputc('\n', out);
364
if (ferror (out) != 0 || feof (out) != 0)
369
if (flags & CH_UPDATE)
371
if ((flags & CH_NOSTATUS) == 0)
373
if (h->env->irt_changed && h->env->in_reply_to)
375
LIST *listp = h->env->in_reply_to;
377
if (fputs ("In-Reply-To: ", out) == EOF)
380
for (; listp; listp = listp->next)
381
if ((fputs (listp->data, out) == EOF) || (fputc (' ', out) == EOF))
384
if (fputc ('\n', out) == EOF)
388
if (h->env->refs_changed && h->env->references)
390
LIST *listp = h->env->references, *refs = NULL, *t;
392
if (fputs ("References: ", out) == EOF)
395
/* Mutt stores references in reverse order, thus we create
396
* a reordered refs list that we can put in the headers */
397
for (; listp; listp = listp->next, refs = t)
399
t = (LIST *)safe_malloc (sizeof (LIST));
400
t->data = listp->data;
404
for (; refs; refs = refs->next)
405
if ((fputs (refs->data, out) == EOF) || (fputc (' ', out) == EOF))
408
/* clearing refs from memory */
409
for (t = refs; refs; refs = t->next, t = refs)
412
if (fputc ('\n', out) == EOF)
416
if (h->old || h->read)
418
if (fputs ("Status: ", out) == EOF)
423
if (fputs ("RO", out) == EOF)
428
if (fputc ('O', out) == EOF)
432
if (fputc ('\n', out) == EOF)
436
if (h->flagged || h->replied)
438
if (fputs ("X-Status: ", out) == EOF)
443
if (fputc ('A', out) == EOF)
449
if (fputc ('F', out) == EOF)
453
if (fputc ('\n', out) == EOF)
365
if ((flags & CH_UPDATE_IRT) && h->env->in_reply_to)
367
LIST *listp = h->env->in_reply_to;
368
fputs ("In-Reply-To:", out);
369
for (; listp; listp = listp->next)
372
fputs (listp->data, out);
377
if ((flags & CH_UPDATE_REFS) && h->env->references)
379
fputs ("References:", out);
380
mutt_write_references (h->env->references, out, 0);
384
if ((flags & CH_UPDATE) && (flags & CH_NOSTATUS) == 0)
386
if (h->old || h->read)
388
fputs ("Status: ", out);
396
if (h->flagged || h->replied)
398
fputs ("X-Status: ", out);
980
938
mutt_addrlist_to_local (a);
981
939
rfc2047_decode_adrlist (a);
983
*h = safe_calloc (1, l + 2);
985
strfcpy (*h, s, l + 1);
987
format_address_header (h, a);
941
/* angle brackets for return path are mandated by RfC5322,
942
* so leave Return-Path as-is */
944
*h = safe_strdup (s);
947
*h = safe_calloc (1, l + 2);
948
strfcpy (*h, s, l + 1);
949
format_address_header (h, a);
989
952
rfc822_free_address (&a);