so a short note on this topic can be added to the Platform notes
section below.)
---enable-exact-address
- By default, Mutt-ng will rewrite all addresses in the form
- Personal Name <user@host.domain>
- regardless of the input. By enabling this option, Mutt-ng will write
- addresses in the same form they are parsed. NOTE: this requires
- significantly more memory.
-
-
Once ``configure'' has completed, simply type ``make install.''
Mutt-ng should compile cleanly (without errors) and you should end up with a
mutt_gecos_name (namebuf, sizeof (namebuf), pw);
str_replace (&a->personal, namebuf);
-
-#ifdef EXACT_ADDRESS
- FREE (&a->val);
-#endif
}
}
}
fi],
[AC_DEFINE_UNQUOTED(EXECSHELL, "/bin/sh")])
-AC_ARG_ENABLE(exact-address, AC_HELP_STRING([--enable-exact-address], [Enable regeneration of email addresses]),
- [if test $enableval = yes; then
- AC_DEFINE(EXACT_ADDRESS,1,
- [Enable exact regeneration of email addresses as parsed?
- NOTE: this requires significant more memory when defined.])
-
- fi])
-
dnl -- start cache --
AC_ARG_ENABLE(hcache, AC_HELP_STRING([--enable-hcache], [Enable header caching]),
[if test x$enableval = xyes; then
d = dump_int (0xdeadbeef, d, off);
while (a) {
-#ifdef EXACT_ADDRESS
- d = dump_char (a->val, d, off);
-#endif
d = dump_char (a->personal, d, off);
d = dump_char (a->mailbox, d, off);
d = dump_int (a->group, d, off);
while (counter) {
*a = safe_malloc (sizeof (ADDRESS));
-#ifdef EXACT_ADDRESS
- restore_char (&(*a)->val, d, off);
-#endif
restore_char (&(*a)->personal, d, off);
restore_char (&(*a)->mailbox, d, off);
restore_int ((unsigned int *) &(*a)->group, d, off);
safe_strlen ("HAVE_LANGINFO_CODESET"));
#endif
-#if EXACT_ADDRESS
- crc =
- crc32 (crc, (unsigned char const *) "EXACT_ADDRESS",
- safe_strlen ("EXACT_ADDRESS"));
-#endif
-
#ifdef USE_POP
crc =
crc32 (crc, (unsigned char const *) "USE_POP", safe_strlen ("USE_POP"));
** .pp
** If set, all folders are opened in read-only mode.
*/
-#ifndef EXACT_ADDRESS
{"realname", DT_STR, R_BOTH, UL &Realname, 0},
/*
** .pp
** variable will \fInot\fP be used when the user has set a real name
** in the $$from variable.
*/
-#endif
{"recall", DT_QUAD, R_NONE, OPT_RECALL, M_ASKYES},
/*
** .pp
#else
"-BUFFY_SIZE "
#endif
-#ifdef EXACT_ADDRESS
- "+EXACT_ADDRESS "
-#else
- "-EXACT_ADDRESS "
-#endif
#ifdef SUN_ATTACHMENT
"+SUN_ATTACHMENT "
#else
if (table[n].data->addr->mailbox &&
!regexec (re, table[n].data->addr->mailbox, 0, NULL, 0))
return 0;
-#ifdef EXACT_ADDRESS
- if (table[n].data->addr->val &&
- !regexec (re, table[n].data->addr->val, 0, NULL, 0))
- return 0;
-#endif
}
return REG_NOMATCH;
while (ptr) {
if (ptr->personal)
_rfc2047_encode_string (&ptr->personal, 1, col);
-#ifdef EXACT_ADDRESS
- if (ptr->val)
- _rfc2047_encode_string (&ptr->val, 1, col);
-#endif
ptr = ptr->next;
}
}
while (a) {
if (a->personal)
rfc2047_decode (&a->personal);
-#ifdef EXACT_ADDRESS
- if (a->val && strstr (a->val, "=?") != NULL)
- rfc2047_decode (&a->val);
-#endif
a = a->next;
}
}
while (*p) {
t = *p;
*p = (*p)->next;
-#ifdef EXACT_ADDRESS
- FREE (&t->val);
-#endif
FREE (&t->personal);
FREE (&t->mailbox);
FREE (&t);
last->personal = safe_strdup (comment);
}
-#ifdef EXACT_ADDRESS
- if (last && !last->val)
- last->val = str_substrdup (begin, s);
-#endif
commentlen = 0;
phraselen = 0;
s++;
top = cur;
last = cur;
-#ifdef EXACT_ADDRESS
- last->val = str_substrdup (begin, s);
-#endif
-
phraselen = 0;
commentlen = 0;
s++;
terminate_buffer (comment, commentlen);
last->personal = safe_strdup (comment);
}
-#ifdef EXACT_ADDRESS
- if (last && !last->val)
- last->val = str_substrdup (begin, s);
-#endif
/* add group terminator */
cur = rfc822_new_address ();
terminate_buffer (comment, commentlen);
last->personal = safe_strdup (comment);
}
-#ifdef EXACT_ADDRESS
- if (last)
- last->val = str_substrdup (begin, s);
-#endif
return top;
}
buflen--; /* save room for the terminal nul */
-#ifdef EXACT_ADDRESS
- if (addr->val) {
- if (!buflen)
- goto done;
- strfcpy (pbuf, addr->val, buflen);
- len = safe_strlen (pbuf);
- /* dirty fix to un-break EXACT_ADDRESS */
- if (pbuf[len-1] == '\n')
- pbuf[--len] = '\0';
- pbuf += len;
- buflen -= len;
- if (addr->group) {
- if (!buflen)
- goto done;
- *pbuf++ = ':';
- buflen--;
- *pbuf = 0;
- }
- return;
- }
-#endif
-
if (addr->personal) {
if (strpbrk (addr->personal, RFC822Specials)) {
if (!buflen)
{
ADDRESS *p = rfc822_new_address ();
-#ifdef EXACT_ADDRESS
- p->val = safe_strdup (addr->val);
-#endif
p->personal = safe_strdup (addr->personal);
p->mailbox = safe_strdup (addr->mailbox);
p->group = addr->group;
};
typedef struct address_t {
-#ifdef EXACT_ADDRESS
- char *val; /* value of address as parsed */
-#endif
char *personal; /* real name of address */
char *mailbox; /* mailbox and host address */
int group; /* group mailbox? */