mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-22 17:34:54 +01:00
notmuch setup: Collapse internal whitespace within message-id
I'm too lazy to see what the RFC says, but I know that having whitespace inside a message-ID is sure to confuse things. And besides, this makes things more compatible with sup so that I have some hope of importing sup labels.
This commit is contained in:
parent
65baa4f4e7
commit
d29a6ec791
1 changed files with 17 additions and 3 deletions
20
database.cc
20
database.cc
|
@ -305,6 +305,7 @@ static char *
|
||||||
parse_message_id (const char *message_id, const char **next)
|
parse_message_id (const char *message_id, const char **next)
|
||||||
{
|
{
|
||||||
const char *s, *end;
|
const char *s, *end;
|
||||||
|
char *result;
|
||||||
|
|
||||||
if (message_id == NULL)
|
if (message_id == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -339,10 +340,23 @@ parse_message_id (const char *message_id, const char **next)
|
||||||
|
|
||||||
if (end > s && *end == '>')
|
if (end > s && *end == '>')
|
||||||
end--;
|
end--;
|
||||||
if (end > s)
|
if (end <= s)
|
||||||
return strndup (s, end - s + 1);
|
|
||||||
else
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
result = strndup (s, end - s + 1);
|
||||||
|
|
||||||
|
/* Finally, collapse any whitespace that is within the message-id
|
||||||
|
* itself. */
|
||||||
|
{
|
||||||
|
char *r;
|
||||||
|
int len;
|
||||||
|
|
||||||
|
for (r = result, len = strlen (r); *r; r++, len--)
|
||||||
|
if (*r == ' ' || *r == '\t')
|
||||||
|
memmove (r, r+1, len);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Parse a References header value, putting a copy of each referenced
|
/* Parse a References header value, putting a copy of each referenced
|
||||||
|
|
Loading…
Reference in a new issue