X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=imap%2Fbrowse.c;h=dbccc6a76677644d0460b744385b1ad8b4b27499;hb=d9ae612d6dba4f68f46a1a81eb77a326849f9184;hp=b5e7ac8edb15374dcb778bf392d49450e0df7f6d;hpb=df70e07e24add1869bcc9b7af2277d9d0c09a281;p=apps%2Fmadmutt.git diff --git a/imap/browse.c b/imap/browse.c index b5e7ac8..dbccc6a 100644 --- a/imap/browse.c +++ b/imap/browse.c @@ -1,20 +1,11 @@ /* + * Copyright notice from original mutt: * Copyright (C) 1996-9 Brandon Long * Copyright (C) 1999-2002 Brendan Cully - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. + * + * This file is part of mutt-ng, see http://www.muttng.org/. + * It's licensed under the GNU General Public License, + * please see the file GPL in the top level source directory. */ /* Mutt browser support routines */ @@ -26,6 +17,10 @@ #include #include +#include "lib/mem.h" +#include "lib/str.h" +#include "lib/intl.h" + #include "mutt.h" #include "imap_private.h" @@ -102,7 +97,7 @@ int imap_browse (char *path, struct browser_state *state) imap_unquote_string (buf); /* As kludgy as it gets */ mbox[sizeof (mbox) - 1] = '\0'; strncpy (mbox, buf, sizeof (mbox) - 1); - n = mutt_strlen (mbox); + n = safe_strlen (mbox); dprint (3, (debugfile, "imap_browse: mbox: %s\n", mbox)); @@ -120,7 +115,7 @@ int imap_browse (char *path, struct browser_state *state) imap_unmunge_mbox_name (cur_folder); if (!noinferiors && cur_folder[0] && - (n = strlen (mbox)) < LONG_STRING - 1) { + (n = safe_strlen (mbox)) < LONG_STRING - 1) { mbox[n++] = idata->delim; mbox[n] = '\0'; } @@ -262,7 +257,7 @@ int imap_mailbox_create (const char *folder) strfcpy (buf, NONULL (mx.mbox), sizeof (buf)); /* append a delimiter if necessary */ - n = mutt_strlen (buf); + n = safe_strlen (buf); if (n && (n < sizeof (buf) - 1) && (buf[n - 1] != idata->delim)) { buf[n++] = idata->delim; buf[n] = '\0'; @@ -271,7 +266,7 @@ int imap_mailbox_create (const char *folder) if (mutt_get_field (_("Create mailbox: "), buf, sizeof (buf), M_FILE) < 0) goto fail; - if (!mutt_strlen (buf)) { + if (!safe_strlen (buf)) { mutt_error (_("Mailbox must have a name.")); mutt_sleep (1); goto fail; @@ -318,7 +313,7 @@ int imap_mailbox_rename (const char *mailbox) if (mutt_get_field (buf, newname, sizeof (newname), M_FILE) < 0) goto fail; - if (!mutt_strlen (newname)) { + if (!safe_strlen (newname)) { mutt_error (_("Mailbox must have a name.")); mutt_sleep (1); goto fail; @@ -371,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 || mutt_strncmp (name, mx.mbox, strlen (name))) + if (isparent || safe_strncmp (name, mx.mbox, safe_strlen (name))) imap_add_folder (idata->delim, name, noselect, noinferiors, state, isparent); } @@ -409,8 +404,8 @@ static void imap_add_folder (char delim, char *folder, int noselect, if (isparent) strfcpy (relpath, "../", sizeof (relpath)); /* strip current folder from target, to render a relative path */ - else if (!mutt_strncmp (mx.mbox, folder, mutt_strlen (mx.mbox))) - strfcpy (relpath, folder + mutt_strlen (mx.mbox), sizeof (relpath)); + else if (!safe_strncmp (mx.mbox, folder, safe_strlen (mx.mbox))) + strfcpy (relpath, folder + safe_strlen (mx.mbox), sizeof (relpath)); else strfcpy (relpath, folder, sizeof (relpath)); @@ -426,9 +421,9 @@ static void imap_add_folder (char delim, char *folder, int noselect, (state->entry)[state->entrylen].name = safe_strdup (tmp); /* mark desc with delim in browser if it can have subfolders */ - if (!isparent && !noinferiors && strlen (relpath) < sizeof (relpath) - 1) { - relpath[strlen (relpath) + 1] = '\0'; - relpath[strlen (relpath)] = delim; + if (!isparent && !noinferiors && safe_strlen (relpath) < sizeof (relpath) - 1) { + relpath[safe_strlen (relpath) + 1] = '\0'; + relpath[safe_strlen (relpath)] = delim; } (state->entry)[state->entrylen].desc = safe_strdup (relpath); @@ -447,7 +442,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 mutt_strcmp (a->name, b->name); + return safe_strcmp (a->name, b->name); } static int browse_get_namespace (IMAP_DATA * idata, char *nsbuf, int nsblen,