Changeset 5458:f93dcd689032 for alias.c

Show
Ignore:
Timestamp:
2008-07-21 00:11:40 (4 months ago)
Author:
Rocco Rutte <pdmef@…>
Branch:
HEAD
Message:

Encode lines written to $alias_file in $config_charset if set. Closes #3095

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • alias.c

    r5417 r5458  
    212212} 
    213213 
     214static void recode_buf (char *buf, size_t buflen) 
     215{ 
     216  char *s; 
     217 
     218  if (!ConfigCharset || !*ConfigCharset || !Charset) 
     219    return; 
     220  s = safe_strdup (buf); 
     221  if (!s) 
     222    return; 
     223  if (mutt_convert_string (&s, Charset, ConfigCharset, 0) == 0) 
     224    strfcpy (buf, s, buflen); 
     225  FREE(&s); 
     226} 
     227 
    214228void mutt_create_alias (ENVELOPE *cur, ADDRESS *iadr) 
    215229{ 
     
    356370    else 
    357371      strfcpy (buf, new->name, sizeof (buf)); 
     372    recode_buf (buf, sizeof (buf)); 
    358373    fprintf (rc, "alias %s ", buf); 
    359374    buf[0] = 0; 
    360375    rfc822_write_address (buf, sizeof (buf), new->addr, 0); 
     376    recode_buf (buf, sizeof (buf)); 
    361377    write_safe_address (rc, buf); 
    362378    fputc ('\n', rc);