#include <lib-lib/ascii.h>
#include <lib-lib/str.h>
#include <lib-lib/buffer.h>
+#include <lib-lib/debug.h>
#include "mutt.h"
#include "mx.h"
#include "message.h"
#include "imap_private.h"
#if defined(USE_SSL) || defined(USE_GNUTLS)
-# include "mutt_ssl.h"
+# include <lib-sys/mutt_ssl.h>
#endif
#include "buffy.h"
#include <lib-lib/macros.h>
-#include "lib/debug.h"
#include <unistd.h>
#include <ctype.h>
debug_print (1, ("not a FLAGS response: %s\n", s));
return NULL;
}
- s += 5;
- SKIPWS (s);
+ s = vskipspaces(s + 5);
if (*s != '(') {
debug_print (1, ("bogus FLAGS response: %s\n", s));
return NULL;
*hflags = flags;
while (*s && *s != ')') {
- s++;
- SKIPWS (s);
+ s = vskipspaces(s + 1);
flag_word = s;
while (*s && (*s != ')') && !ISSPACE (*s))
s++;
/* imap_set_flag: append str to flags if we currently have permission
* according to aclbit */
-static void imap_set_flag (IMAP_DATA * idata, int aclbit, int flag,
- const char *str, char *flags, size_t flsize)
+static void imap_set_flag(IMAP_DATA *idata, int aclbit, int flag,
+ const char *str, char *flags, size_t flsize)
{
- if (mutt_bit_isset (idata->rights, aclbit))
- if (flag)
- str_cat (flags, flsize, str);
+ if (mutt_bit_isset(idata->rights, aclbit)) {
+ if (flag)
+ m_strcat(flags, flsize, str);
+ }
}
/* imap_make_msg_set: make an IMAP4rev1 UID message set out of a set of
if (mutt_bit_isset (idata->rights, ACL_WRITE))
imap_add_keywords (flags, hdr, idata->flags, sizeof (flags));
- str_skip_trailws (flags);
+ m_strrtrim(flags);
/* UW-IMAP is OK with null flags, Cyrus isn't. The only solution is to
* explicitly revoke all system flags (if we have permission) */
imap_set_flag (idata, ACL_WRITE, 1, "\\Answered ", flags, sizeof (flags));
imap_set_flag (idata, ACL_DELETE, 1, "\\Deleted ", flags, sizeof (flags));
- str_skip_trailws (flags);
+ m_strrtrim(flags);
mutt_buffer_addstr (cmd, " -FLAGS.SILENT (");
} else
p_delete(&mx.mbox);
imap_munge_mbox_name (mbox, sizeof (mbox), buf);
- strfcpy (mbox_unquoted, buf, sizeof (mbox_unquoted));
+ m_strcpy(mbox_unquoted, sizeof(mbox_unquoted), buf);
/* The draft IMAP implementor's guide warns againts using the STATUS
* command on a mailbox that you have selected
*/
- if (str_cmp (mbox_unquoted, idata->mailbox) == 0
+ if (m_strcmp(mbox_unquoted, idata->mailbox) == 0
|| (ascii_strcasecmp (mbox_unquoted, "INBOX") == 0
- && str_casecmp (mbox_unquoted, idata->mailbox) == 0)) {
- strfcpy (buf, "NOOP", sizeof (buf));
+ && m_strcasecmp(mbox_unquoted, idata->mailbox) == 0)) {
+ m_strcpy(buf, sizeof(buf), "NOOP");
}
else if (mutt_bit_isset (idata->capabilities, IMAP4REV1) ||
mutt_bit_isset (idata->capabilities, STATUS)) {
/* The mailbox name may or may not be quoted here. We could try to
* munge the server response and compare with quoted (or vise versa)
* but it is probably more efficient to just strncmp against both. */
- if (str_ncmp (mbox_unquoted, s, m_strlen(mbox_unquoted)) == 0
- || str_ncmp (mbox, s, m_strlen(mbox)) == 0) {
+ if (m_strncmp(mbox_unquoted, s, m_strlen(mbox_unquoted)) == 0
+ || m_strncmp(mbox, s, m_strlen(mbox)) == 0) {
s = imap_next_word (s);
s = imap_next_word (s);
if (isdigit ((unsigned char) *s)) {
mutt_buffer_addch (buf, ' ');
/* and field */
- *delim = ':';
- delim++;
- SKIPWS(delim);
+ *delim++ = ':';
+ delim = vskipspaces(delim);
imap_quote_string (term, sizeof (term), delim);
mutt_buffer_addstr (buf, term);
break;
return (-1);
for (i = 0; i < Incoming->length; i++) {
mailbox = (BUFFY*) Incoming->data[i];
- if (!str_ncmp (dest, mailbox->path, matchlen)) {
+ if (!m_strncmp(dest, mailbox->path, matchlen)) {
if (rc) {
- strfcpy (dest, mailbox->path, len);
+ m_strcpy(dest, len, mailbox->path);
rc = 0;
} else
longest_common_prefix (dest, mailbox->path, matchlen, len);
url.user = NULL;
url.path = NULL;
url_ciss_tostring (&url, urlstr, sizeof (urlstr), 0);
- if (!str_ncmp (dest, urlstr, matchlen)) {
+ if (!m_strncmp(dest, urlstr, matchlen)) {
if (rc) {
- strfcpy (dest, urlstr, len);
+ m_strcpy(dest, len, urlstr);
rc = 0;
} else
longest_common_prefix (dest, urlstr, matchlen, len);
IMAP_MBOX mx;
if (imap_parse_path (path, &mx) || !mx.mbox) {
- strfcpy (dest, path, dlen);
+ m_strcpy(dest, dlen, path);
return imap_complete_hosts (dest, dlen);
}
* known mailboxes/hooks/etc */
if (!(idata = imap_conn_find (&(mx.account), M_IMAP_CONN_NONEW))) {
p_delete(&mx.mbox);
- strfcpy (dest, path, dlen);
+ m_strcpy(dest, dlen, path);
return imap_complete_hosts (dest, dlen);
}
conn = idata->conn;
imap_cmd_start (idata, buf);
/* and see what the results are */
- strfcpy (completion, NONULL (mx.mbox), sizeof (completion));
+ m_strcpy(completion, sizeof(completion), NONULL(mx.mbox));
do {
if (imap_parse_list_response (idata, &list_word, &noselect, &noinferiors,
&delim))
}
/* copy in first word */
if (!completions) {
- strfcpy (completion, list_word, sizeof (completion));
+ m_strcpy(completion, sizeof(completion), list_word);
matchlen = m_strlen(completion);
completions++;
continue;