2007-11-23 [wwp] 3.1.0cvs26
authorTristan Chabredier <wwp@claws-mail.org>
Fri, 23 Nov 2007 10:22:24 +0000 (10:22 +0000)
committerTristan Chabredier <wwp@claws-mail.org>
Fri, 23 Nov 2007 10:22:24 +0000 (10:22 +0000)
* src/matcher.c
* src/matcher.h
* src/matcher_parser_parse.y
* src/prefs_matcher.c
Fix irrelevant case folding when adding matcher condition 'test',
thanks to Colin.

ChangeLog
PATCHSETS
configure.ac
src/matcher.c
src/matcher.h
src/matcher_parser_parse.y
src/prefs_matcher.c

index 7aa1708..689ce2e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2007-11-23 [wwp]       3.1.0cvs26
+
+       * src/matcher.c
+       * src/matcher.h
+       * src/matcher_parser_parse.y
+       * src/prefs_matcher.c
+               Fix irrelevant case folding when adding matcher condition 'test',
+               thanks to Colin.
+
 2007-11-23 [wwp]       3.1.0cvs25
 
        * src/prefs_common.c
index 3712738..adc0699 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.1.2.35 -r 1.1.2.36 src/prefs_msg_colors.c;  ) > 3.1.0cvs23.patchset
 ( cvs diff -u -r 1.58.2.34 -r 1.58.2.35 po/de.po;  ) > 3.1.0cvs24.patchset
 ( cvs diff -u -r 1.204.2.154 -r 1.204.2.155 src/prefs_common.c;  cvs diff -u -r 1.103.2.99 -r 1.103.2.100 src/prefs_common.h;  cvs diff -u -r 1.1.2.5 -r 1.1.2.6 src/prefs_summary_open.c;  cvs diff -u -r 1.1.2.2 -r 1.1.2.3 src/prefs_summary_open.h;  cvs diff -u -r 1.395.2.338 -r 1.395.2.339 src/summaryview.c;  ) > 3.1.0cvs25.patchset
+( cvs diff -u -r 1.75.2.51 -r 1.75.2.52 src/matcher.c;  cvs diff -u -r 1.39.2.15 -r 1.39.2.16 src/matcher.h;  cvs diff -u -r 1.25.2.32 -r 1.25.2.33 src/matcher_parser_parse.y;  cvs diff -u -r 1.43.2.64 -r 1.43.2.65 src/prefs_matcher.c;  ) > 3.1.0cvs26.patchset
index 2b084c7..7e87989 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=1
 MICRO_VERSION=0
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=25
+EXTRA_VERSION=26
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index 3a7ccad..333df34 100644 (file)
@@ -271,6 +271,41 @@ MatcherProp *matcherprop_new(gint criteria, const gchar *header,
        return prop;
 }
 
+/*!
+ *\brief       Allocate a structure for a filtering / scoring
+ *             "condition" (a matcher structure)
+ *             Same as matcherprop_new, except it doesn't change the expr's 
+ *             case.
+ *
+ *\param       criteria Criteria ID (MATCHCRITERIA_XXXX)
+ *\param       header Header string (if criteria is MATCHCRITERIA_HEADER
+                       or MATCHCRITERIA_FOUND_IN_ADDRESSBOOK)
+ *\param       matchtype Type of action (MATCHTYPE_XXX)
+ *\param       expr String value or expression to check
+ *\param       value Integer value to check
+ *
+ *\return      MatcherProp * Pointer to newly allocated structure
+ */
+MatcherProp *matcherprop_new_create(gint criteria, const gchar *header,
+                             gint matchtype, const gchar *expr,
+                             int value)
+{
+       MatcherProp *prop;
+
+       prop = g_new0(MatcherProp, 1);
+       prop->criteria = criteria;
+       prop->header = header != NULL ? g_strdup(header) : NULL;
+
+       prop->expr = expr != NULL ? g_strdup(expr) : NULL;
+
+       prop->matchtype = matchtype;
+       prop->preg = NULL;
+       prop->value = value;
+       prop->error = 0;
+
+       return prop;
+}
+
 /*!
  *\brief       Free a matcher structure
  *
index 5b00a1a..37e7c4c 100644 (file)
@@ -153,6 +153,11 @@ MatcherProp *matcherprop_new               (gint            criteria,
                                         gint            matchtype, 
                                         const gchar    *expr,
                                         int             value);
+MatcherProp *matcherprop_new_create    (gint            criteria, 
+                                        const gchar    *header,
+                                        gint            matchtype, 
+                                        const gchar    *expr,
+                                        int             value);
 void matcherprop_free                  (MatcherProp *prop);
 
 MatcherProp *matcherprop_parse         (gchar  **str);
index 0f3216a..c7a0a77 100644 (file)
@@ -1133,7 +1133,7 @@ MATCHER_ALL
        matcher_is_fast = FALSE;
        criteria = MATCHCRITERIA_TEST;
        expr = $2;
-       prop = matcherprop_new(criteria, NULL, 0, expr, 0);
+       prop = matcherprop_new(criteria, NULL, MATCHTYPE_MATCH, expr, 0);
 }
 | MATCHER_NOT_TEST MATCHER_STRING
 {
@@ -1142,7 +1142,7 @@ MATCHER_ALL
        matcher_is_fast = FALSE;
        criteria = MATCHCRITERIA_NOT_TEST;
        expr = $2;
-       prop = matcherprop_new(criteria, NULL, 0, expr, 0);
+       prop = matcherprop_new(criteria, NULL, MATCHTYPE_MATCH, expr, 0);
 }
 ;
 
index e3a02d0..6d94d3d 100644 (file)
@@ -1292,7 +1292,7 @@ static MatcherProp *prefs_matcher_dialog_to_matcher(void)
                break;
        }
 
-       matcherprop = matcherprop_new(criteria, header, matchtype,
+       matcherprop = matcherprop_new_create(criteria, header, matchtype,
                                      expr, value);
 
        return matcherprop;