X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=imap%2Fbrowse.c;h=2cc16f8fa926f1bd5ca58068efa8d64d1e405480;hp=73bfcbc31fdb04dd8076f99c593105288e3d3737;hb=ac813896ca32d850febc2d95065ac4fa040f11f9;hpb=8e037c67a88cb4680c4391134c578e3b55a80f8a diff --git a/imap/browse.c b/imap/browse.c index 73bfcbc..2cc16f8 100644 --- a/imap/browse.c +++ b/imap/browse.c @@ -18,15 +18,15 @@ #include #include +#include +#include +#include +#include + +#include -#include "lib/mem.h" -#include "lib/str.h" -#include "lib/intl.h" -#include "lib/debug.h" #include "mutt.h" -#include "ascii.h" -#include "enter.h" #include "imap_private.h" /* -- forward declarations -- */ @@ -74,8 +74,8 @@ int imap_browse (char *path, struct browser_state *state) save_lsub = option (OPTIMAPCHECKSUBSCRIBED); unset_option (OPTIMAPCHECKSUBSCRIBED); - strfcpy (list_cmd, option (OPTIMAPLSUB) ? "LSUB" : "LIST", - sizeof (list_cmd)); + m_strcpy(list_cmd, sizeof(list_cmd), + option(OPTIMAPLSUB) ? "LSUB" : "string_list_t"); if (!(idata = imap_conn_find (&(mx.account), 0))) goto fail; @@ -83,7 +83,7 @@ int imap_browse (char *path, struct browser_state *state) if (!mx.mbox) { home_namespace = 1; mbox[0] = '\0'; /* Do not replace "" with "INBOX" here */ - mx.mbox = str_dup (ImapHomeNamespace); + mx.mbox = m_strdup(ImapHomeNamespace); if (mutt_bit_isset (idata->capabilities, NAMESPACE)) { mutt_message _("Getting namespaces..."); @@ -102,9 +102,8 @@ int imap_browse (char *path, struct browser_state *state) imap_fix_path (idata, mx.mbox, mbox, sizeof (mbox)); imap_munge_mbox_name (buf, sizeof (buf), mbox); imap_unquote_string (buf); /* As kludgy as it gets */ - mbox[sizeof (mbox) - 1] = '\0'; - strncpy (mbox, buf, sizeof (mbox) - 1); - n = str_len (mbox); + m_strcpy(mbox, sizeof(mbox), buf); + n = m_strlen(mbox); debug_print (3, ("mbox: %s\n", mbox)); @@ -122,7 +121,7 @@ int imap_browse (char *path, struct browser_state *state) imap_unmunge_mbox_name (cur_folder); if (!noinferiors && cur_folder[0] && - (n = str_len (mbox)) < LONG_STRING - 1) { + (n = m_strlen(mbox)) < LONG_STRING - 1) { mbox[n++] = idata->delim; mbox[n] = '\0'; } @@ -137,7 +136,7 @@ int imap_browse (char *path, struct browser_state *state) if (!home_namespace) showparents = 1; imap_qualify_path (buf, sizeof (buf), &mx, mbox); - state->folder = str_dup (buf); + state->folder = m_strdup(buf); n--; } @@ -166,7 +165,7 @@ int imap_browse (char *path, struct browser_state *state) ctmp = mbox[n]; mbox[n] = '\0'; imap_qualify_path (buf, sizeof (buf), &mx, mbox); - state->folder = str_dup (buf); + state->folder = m_strdup(buf); } mbox[n] = ctmp; } @@ -180,7 +179,7 @@ int imap_browse (char *path, struct browser_state *state) imap_add_folder (idata->delim, relpath, 1, 0, state, 1); if (!state->folder) { imap_qualify_path (buf, sizeof (buf), &mx, relpath); - state->folder = str_dup (buf); + state->folder = m_strdup(buf); } } } @@ -188,7 +187,7 @@ int imap_browse (char *path, struct browser_state *state) /* no namespace, no folder: set folder to host only */ if (!state->folder) { imap_qualify_path (buf, sizeof (buf), &mx, NULL); - state->folder = str_dup (buf); + state->folder = m_strdup(buf); } if (home_namespace && mbox[0] != '\0') { @@ -196,7 +195,7 @@ int imap_browse (char *path, struct browser_state *state) * namespace is not "", so we have to list it explicitly. We ask the * server to see if it has descendants. */ debug_print (3, ("adding INBOX\n")); - if (browse_add_list_result (idata, "LIST \"\" \"INBOX\"", state, 0)) + if (browse_add_list_result (idata, "string_list_t \"\" \"INBOX\"", state, 0)) goto fail; } @@ -261,11 +260,11 @@ int imap_mailbox_create (const char *folder) goto fail; } - strfcpy (buf, NONULL (mx.mbox), sizeof (buf)); + m_strcpy(buf, sizeof(buf), NONULL(mx.mbox)); /* append a delimiter if necessary */ - n = str_len (buf); - if (n && (n < sizeof (buf) - 1) && (buf[n - 1] != idata->delim)) { + n = m_strlen(buf); + if (n && (n < ssizeof (buf) - 1) && (buf[n - 1] != idata->delim)) { buf[n++] = idata->delim; buf[n] = '\0'; } @@ -273,7 +272,7 @@ int imap_mailbox_create (const char *folder) if (mutt_get_field (_("Create mailbox: "), buf, sizeof (buf), M_FILE) < 0) goto fail; - if (!str_len (buf)) { + if (!m_strlen(buf)) { mutt_error (_("Mailbox must have a name.")); mutt_sleep (1); goto fail; @@ -316,7 +315,7 @@ int imap_mailbox_rename (const char *mailbox) if (mutt_get_field (buf, newname, sizeof (newname), M_FILE) < 0) goto fail; - if (!str_len (newname)) { + if (!m_strlen(newname)) { mutt_error (_("Mailbox must have a name.")); mutt_sleep (1); goto fail; @@ -367,7 +366,7 @@ static int browse_add_list_result (IMAP_DATA * idata, const char *cmd, if (isparent) noselect = 1; /* prune current folder from output */ - if (isparent || str_ncmp (name, mx.mbox, str_len (name))) + if (isparent || m_strncmp(name, mx.mbox, m_strlen(name))) imap_add_folder (idata->delim, name, noselect, noinferiors, state, isparent); } @@ -394,21 +393,19 @@ static void imap_add_folder (char delim, char *folder, int noselect, imap_unmunge_mbox_name (folder); if (state->entrylen + 1 == state->entrymax) { - mem_realloc (&state->entry, - sizeof (struct folder_file) * (state->entrymax += 256)); - memset (state->entry + state->entrylen, 0, - (sizeof (struct folder_file) * - (state->entrymax - state->entrylen))); + p_realloc(&state->entry, state->entrymax += 256); + p_clear(state->entry + state->entrylen, + state->entrymax - state->entrylen); } /* render superiors as unix-standard ".." */ if (isparent) - strfcpy (relpath, "../", sizeof (relpath)); + m_strcpy(relpath, sizeof(relpath), "../"); /* strip current folder from target, to render a relative path */ - else if (!str_ncmp (mx.mbox, folder, str_len (mx.mbox))) - strfcpy (relpath, folder + str_len (mx.mbox), sizeof (relpath)); + else if (!m_strncmp(mx.mbox, folder, m_strlen(mx.mbox))) + m_strcpy(relpath, sizeof(relpath), folder + m_strlen(mx.mbox)); else - strfcpy (relpath, folder, sizeof (relpath)); + m_strcpy(relpath, sizeof(relpath), folder); /* apply filemask filter. This should really be done at menu setup rather * than at scan, since it's so expensive to scan. But that's big changes @@ -419,15 +416,15 @@ static void imap_add_folder (char delim, char *folder, int noselect, } imap_qualify_path (tmp, sizeof (tmp), &mx, folder); - (state->entry)[state->entrylen].name = str_dup (tmp); + (state->entry)[state->entrylen].name = m_strdup(tmp); /* mark desc with delim in browser if it can have subfolders */ - if (!isparent && !noinferiors && str_len (relpath) < sizeof (relpath) - 1) { - relpath[str_len (relpath) + 1] = '\0'; - relpath[str_len (relpath)] = delim; + if (!isparent && !noinferiors && m_strlen(relpath) < ssizeof (relpath) - 1) { + relpath[m_strlen(relpath) + 1] = '\0'; + relpath[m_strlen(relpath)] = delim; } - (state->entry)[state->entrylen].desc = str_dup (relpath); + (state->entry)[state->entrylen].desc = m_strdup(relpath); (state->entry)[state->entrylen].imap = 1; /* delimiter at the root is useless. */ @@ -443,7 +440,7 @@ static void imap_add_folder (char delim, char *folder, int noselect, static int compare_names (struct folder_file *a, struct folder_file *b) { - return str_cmp (a->name, b->name); + return m_strcmp(a->name, b->name); } static int browse_get_namespace (IMAP_DATA * idata, char *nsbuf, int nsblen, @@ -556,11 +553,11 @@ static int browse_verify_namespace (IMAP_DATA * idata, * than invisible namespaces */ if (nsi->delim) snprintf (buf, sizeof (buf), "%s \"\" \"%s%c%%\"", - option (OPTIMAPLSUB) ? "LSUB" : "LIST", nsi->prefix, + option (OPTIMAPLSUB) ? "LSUB" : "string_list_t", nsi->prefix, nsi->delim); else snprintf (buf, sizeof (buf), "%s \"\" \"%s%%\"", - option (OPTIMAPLSUB) ? "LSUB" : "LIST", nsi->prefix); + option (OPTIMAPLSUB) ? "LSUB" : "string_list_t", nsi->prefix); imap_cmd_start (idata, buf);