X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=pattern.c;h=5b9c13ad38b8f1caeff614369f9a5780fc8afbfe;hp=9793fc2db73d9c0513fb493a4b04c6cee453d780;hb=42cc85de46ed8971a6c793835023cf26766fb096;hpb=df70e07e24add1869bcc9b7af2277d9d0c09a281 diff --git a/pattern.c b/pattern.c index 9793fc2..5b9c13a 100644 --- a/pattern.c +++ b/pattern.c @@ -1,19 +1,10 @@ /* + * Copyright notice from original mutt: * Copyright (C) 1996-2000 Michael R. Elkins , and others - * - * 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. */ #if HAVE_CONFIG_H @@ -21,11 +12,15 @@ #endif #include "mutt.h" +#include "mx.h" #include "mapping.h" #include "keymap.h" -#include "mailbox.h" #include "copy.h" +#include "lib/mem.h" +#include "lib/intl.h" +#include "lib/str.h" + #include #include #include @@ -771,7 +766,7 @@ pattern_t *mutt_pattern_comp ( /* const */ char *s, int flags, BUFFER * err) return NULL; } /* compile the sub-expression */ - buf = mutt_substrdup (ps.dptr + 1, p); + buf = str_substrdup (ps.dptr + 1, p); if ((tmp = mutt_pattern_comp (buf, flags, err)) == NULL) { FREE (&buf); mutt_pattern_free (&curlist); @@ -1137,9 +1132,14 @@ int mutt_pattern_func (int op, char *prompt) strfcpy (buf, NONULL (Context->pattern), sizeof (buf)); if (prompt || op != M_LIMIT) - if (mutt_get_field (prompt, buf, sizeof (buf), M_PATTERN | M_CLEAR) != 0 - || !buf[0]) + if (mutt_get_field (prompt, buf, sizeof (buf), M_PATTERN | M_CLEAR) != 0) + return (-1); + if (!buf[0]) { + if (op == M_LIMIT) + strncpy (buf, "~A", sizeof (buf)); + else return (-1); + } mutt_message _("Compiling search pattern..."); @@ -1223,7 +1223,7 @@ int mutt_pattern_func (int op, char *prompt) } #endif } - else if (mutt_strncmp (buf, "~A", 2) != 0) { + else if (safe_strncmp (buf, "~A", 2) != 0) { Context->pattern = simple; simple = NULL; /* don't clobber it */ Context->limit_pattern = mutt_pattern_comp (buf, M_FULL_MSG, &err);