Commit 34a9b541 34a9b5419ca1ec781bae17b0abbfee611aa685c7 by Sergey Poznyakoff

Bugfixes.

* imap4d/fetch.c (parse_fetch_body): Bugfix, allow another tokens
after BODY.
* imap4d/util.c (util_msgset): Make sure returned number of
elements in set is always correct.
* mailbox/folder.c (is_known_folder): Compare paths as well.  It
was commented out on 2001-04-10 (7 years ago!!!) for unknown
reasons.
* mailbox/url.c (DECL_CMP): Bugfix. The macro effectively created
a scheme comparator, no matter what its second argument was.
1 parent 15602e01
2008-08-16 Sergey Poznyakoff <gray@gnu.org.ua>
Bugfixes.
* imap4d/fetch.c (parse_fetch_body): Bugfix, allow another tokens
after BODY.
* imap4d/util.c (util_msgset): Make sure returned number of
elements in set is always correct.
* mailbox/folder.c (is_known_folder): Compare paths as well. It
was commented out on 2001-04-10 (7 years ago!!!) for unknown
reasons.
* mailbox/url.c (DECL_CMP): Bugfix. The macro effectively created
a scheme comparator, no matter what its second argument was.
2008-08-14 Sergey Poznyakoff <gray@gnu.org.ua>
New functions.
......
......@@ -1484,7 +1484,7 @@ parse_fetch_body (struct parsebuf *p)
parsebuf_next (p, 0);
}
else if (parse_body_args (p, 0))
parsebuf_exit (p, "Syntax error");
append_simple_function (p, "BODY", _frt_bodystructure0);
}
static int
......
......@@ -215,6 +215,9 @@ util_msgset (char *s, size_t ** set, int *n, int isuid)
break;
} /* while */
if (*n == 0)
return 0;
/* For message sets in form X:Y where Y is a not-existing UID greater
than max UID, replace Y with the max UID in the mailbox */
if (*n == 1 && invalid_uid)
......
......@@ -494,7 +494,7 @@ is_known_folder (mu_url_t url, mu_folder_t *pfolder)
&& mu_url_is_same_scheme (url, folder->url)
&& mu_url_is_same_user (url, folder->url)
&& mu_url_is_same_host (url, folder->url)
/*&& mu_url_is_same_path (url, folder->url) */
&& mu_url_is_same_path (url, folder->url)
&& mu_url_is_same_port (url, folder->url))
{
ret = 1;
......
......@@ -426,10 +426,10 @@ ACCESSOR(is_same,field) (mu_url_t url1, mu_url_t url2) \
const char *s1, *s2; \
int status1, status2; \
\
status1 = mu_url_sget_scheme (url1, &s1); \
status1 = ACCESSOR(sget, field) (url1, &s1); \
if (status1 && status1 != MU_ERR_NOENT) \
return 0; \
status2 = mu_url_sget_scheme (url2, &s2); \
status2 = ACCESSOR(sget, field) (url2, &s2); \
if (status2 && status2 != MU_ERR_NOENT) \
return 0; \
\
......