diff options
Diffstat (limited to 'mail/mutt/files/extra-patch-ifdef')
-rw-r--r-- | mail/mutt/files/extra-patch-ifdef | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/mail/mutt/files/extra-patch-ifdef b/mail/mutt/files/extra-patch-ifdef new file mode 100644 index 000000000000..03f18dee9626 --- /dev/null +++ b/mail/mutt/files/extra-patch-ifdef @@ -0,0 +1,79 @@ +--- mutt-1.5.4.orig/init.c 2003-03-04 08:49:48.000000000 +0100 ++++ mutt-1.5.4/init.c 2003-07-22 20:14:47.000000000 +0200 +@@ -349,6 +349,52 @@ static void remove_from_list (LIST **l, + } + } + ++static int parse_ifdef (BUFFER *tmp, BUFFER *s, unsigned long data, BUFFER *err) ++{ ++ int i, j, res = 0; ++ BUFFER token; ++ ++ memset (&token, 0, sizeof (token)); ++ mutt_extract_token (tmp, s, 0); ++ ++ /* is the item defined as a variable or a function? */ ++ if (!(res = (mutt_option_index (tmp->data) != -1))) ++ for (i = 0; !res && i < MENU_MAX; i++) ++ { ++ struct binding_t *b = km_get_table (Menus[i].value); ++ ++ if (!b) ++ continue; ++ ++ for (j = 0; b[j].name; j++) ++ if (!ascii_strncasecmp (tmp->data, b[j].name, mutt_strlen (tmp->data)) ++ && (mutt_strlen (b[j].name) == mutt_strlen (tmp->data))) ++ { ++ res = 1; ++ break; ++ } ++ } ++ ++ if (!MoreArgs (s)) ++ { ++ snprintf (err->data, err->dsize, _("ifdef: too few arguments")); ++ return (-1); ++ } ++ mutt_extract_token (tmp, s, M_TOKEN_SPACE); ++ ++ if (res) ++ { ++ if (mutt_parse_rc_line (tmp->data, &token, err) == -1) ++ { ++ mutt_error ("Erreur: %s", err->data); ++ FREE (&token.data); ++ return (-1); ++ } ++ FREE (&token.data); ++ } ++ return 0; ++} ++ + static int parse_unignore (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER *err) + { + do +diff -pruN mutt-1.5.4.orig/init.h mutt-1.5.4/init.h +--- mutt-1.5.4.orig/init.h.orig 2009-06-22 15:48:16.000000000 +0200 ++++ mutt-1.5.4/init.h 2009-06-22 15:49:28.000000000 +0200 +@@ -3658,6 +3658,7 @@ + static int parse_unlists (BUFFER *, BUFFER *, unsigned long, BUFFER *); + static int parse_alias (BUFFER *, BUFFER *, unsigned long, BUFFER *); + static int parse_unalias (BUFFER *, BUFFER *, unsigned long, BUFFER *); ++static int parse_ifdef (BUFFER *, BUFFER *, unsigned long, BUFFER *); + static int parse_ignore (BUFFER *, BUFFER *, unsigned long, BUFFER *); + static int parse_unignore (BUFFER *, BUFFER *, unsigned long, BUFFER *); + static int parse_source (BUFFER *, BUFFER *, unsigned long, BUFFER *); +@@ -3715,6 +3716,7 @@ + { "hdr_order", parse_list, UL &HeaderOrderList }, + #ifdef HAVE_ICONV + { "iconv-hook", mutt_parse_hook, M_ICONVHOOK }, ++ { "ifdef", parse_ifdef, 0 }, + #endif + { "ignore", parse_ignore, 0 }, + { "lists", parse_lists, 0 }, +diff -pruN mutt-1.5.4.orig/PATCHES mutt-1.5.4/PATCHES +--- mutt-1.5.4.orig/PATCHES 2003-03-19 22:33:37.000000000 +0100 ++++ mutt-1.5.4/PATCHES 2003-07-22 20:14:47.000000000 +0200 +@@ -0,0 +1 @@ ++patch-1.5.4.cd.ifdef.1 |