Changes in filterelement.c [4542047:41c9a96]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
filterelement.c
r4542047 r41c9a96 1 1 #include "owl.h" 2 2 3 static c onst char * owl_filterelement_get_field(const owl_message *m, constchar * field)4 { 5 c onst char *match;3 static char * owl_filterelement_get_field(owl_message *m, char * field) 4 { 5 char *match; 6 6 if (!strcasecmp(field, "class")) { 7 7 match=owl_message_get_class(m); … … 48 48 } 49 49 50 static int owl_filterelement_match_false( const owl_filterelement *fe, constowl_message *m)50 static int owl_filterelement_match_false(owl_filterelement *fe, owl_message *m) 51 51 { 52 52 return 0; 53 53 } 54 54 55 static int owl_filterelement_match_true( const owl_filterelement *fe, constowl_message *m)55 static int owl_filterelement_match_true(owl_filterelement *fe, owl_message *m) 56 56 { 57 57 return 1; 58 58 } 59 59 60 static int owl_filterelement_match_re( const owl_filterelement *fe, constowl_message *m)61 { 62 c onst char * val = owl_filterelement_get_field(m, fe->field);60 static int owl_filterelement_match_re(owl_filterelement *fe, owl_message *m) 61 { 62 char * val = owl_filterelement_get_field(m, fe->field); 63 63 return !owl_regex_compare(&(fe->re), val, NULL, NULL); 64 64 } 65 65 66 static int owl_filterelement_match_filter( const owl_filterelement *fe, constowl_message *m)67 { 68 constowl_filter *subfilter;66 static int owl_filterelement_match_filter(owl_filterelement *fe, owl_message *m) 67 { 68 owl_filter *subfilter; 69 69 subfilter=owl_global_get_filter(&g, fe->field); 70 70 if (!subfilter) { … … 77 77 } 78 78 79 static int owl_filterelement_match_perl(const owl_filterelement *fe, const owl_message *m) 80 { 81 const char *subname; 82 char *perlrv; 79 static int owl_filterelement_match_perl(owl_filterelement *fe, owl_message *m) 80 { 81 char *subname, *perlrv; 83 82 int tf=0; 84 83 … … 97 96 } 98 97 99 static int owl_filterelement_match_group( const owl_filterelement *fe, constowl_message *m)98 static int owl_filterelement_match_group(owl_filterelement *fe, owl_message *m) 100 99 { 101 100 return owl_filterelement_match(fe->left, m); … … 106 105 */ 107 106 108 static int owl_filterelement_match_and( const owl_filterelement *fe, constowl_message *m)107 static int owl_filterelement_match_and(owl_filterelement *fe, owl_message *m) 109 108 { 110 109 return owl_filterelement_match(fe->left, m) && … … 112 111 } 113 112 114 static int owl_filterelement_match_or( const owl_filterelement *fe, constowl_message *m)113 static int owl_filterelement_match_or(owl_filterelement *fe, owl_message *m) 115 114 { 116 115 return owl_filterelement_match(fe->left, m) || … … 118 117 } 119 118 120 static int owl_filterelement_match_not( const owl_filterelement *fe, constowl_message *m)119 static int owl_filterelement_match_not(owl_filterelement *fe, owl_message *m) 121 120 { 122 121 return !owl_filterelement_match(fe->left, m); … … 125 124 /* Print methods */ 126 125 127 static void owl_filterelement_print_true( constowl_filterelement *fe, GString *buf)126 static void owl_filterelement_print_true(owl_filterelement *fe, GString *buf) 128 127 { 129 128 g_string_append(buf, "true"); 130 129 } 131 130 132 static void owl_filterelement_print_false( constowl_filterelement *fe, GString *buf)131 static void owl_filterelement_print_false(owl_filterelement *fe, GString *buf) 133 132 { 134 133 g_string_append(buf, "false"); 135 134 } 136 135 137 static void owl_filterelement_print_re( constowl_filterelement *fe, GString *buf)138 { 139 c onst char *re, *q;136 static void owl_filterelement_print_re(owl_filterelement *fe, GString *buf) 137 { 138 char *re, *q; 140 139 g_string_append(buf, fe->field); 141 140 g_string_append(buf, " "); … … 148 147 } 149 148 150 static void owl_filterelement_print_filter( constowl_filterelement *fe, GString *buf)149 static void owl_filterelement_print_filter(owl_filterelement *fe, GString *buf) 151 150 { 152 151 g_string_append(buf, "filter "); … … 154 153 } 155 154 156 static void owl_filterelement_print_perl( constowl_filterelement *fe, GString *buf)155 static void owl_filterelement_print_perl(owl_filterelement *fe, GString *buf) 157 156 { 158 157 g_string_append(buf, "perl "); … … 160 159 } 161 160 162 static void owl_filterelement_print_group( constowl_filterelement *fe, GString *buf)161 static void owl_filterelement_print_group(owl_filterelement *fe, GString *buf) 163 162 { 164 163 g_string_append(buf, "( "); … … 167 166 } 168 167 169 static void owl_filterelement_print_or( constowl_filterelement *fe, GString *buf)168 static void owl_filterelement_print_or(owl_filterelement *fe, GString *buf) 170 169 { 171 170 owl_filterelement_print(fe->left, buf); … … 174 173 } 175 174 176 static void owl_filterelement_print_and( constowl_filterelement *fe, GString *buf)175 static void owl_filterelement_print_and(owl_filterelement *fe, GString *buf) 177 176 { 178 177 owl_filterelement_print(fe->left, buf); … … 181 180 } 182 181 183 static void owl_filterelement_print_not( constowl_filterelement *fe, GString *buf)182 static void owl_filterelement_print_not(owl_filterelement *fe, GString *buf) 184 183 { 185 184 g_string_append(buf, " not "); … … 212 211 } 213 212 214 int owl_filterelement_create_re(owl_filterelement *fe, c onst char *field, constchar *re)213 int owl_filterelement_create_re(owl_filterelement *fe, char *field, char *re) 215 214 { 216 215 owl_filterelement_create(fe); … … 226 225 } 227 226 228 void owl_filterelement_create_filter(owl_filterelement *fe, c onst char *name)227 void owl_filterelement_create_filter(owl_filterelement *fe, char *name) 229 228 { 230 229 owl_filterelement_create(fe); … … 234 233 } 235 234 236 void owl_filterelement_create_perl(owl_filterelement *fe, c onst char *name)235 void owl_filterelement_create_perl(owl_filterelement *fe, char *name) 237 236 { 238 237 owl_filterelement_create(fe); … … 276 275 } 277 276 278 int owl_filterelement_match( const owl_filterelement *fe, constowl_message *m)277 int owl_filterelement_match(owl_filterelement *fe, owl_message *m) 279 278 { 280 279 if(!fe) return 0; … … 286 285 static int fe_visited = 1; 287 286 288 int owl_filterelement_is_toodeep( const owl_filter *f, constowl_filterelement *fe)287 int owl_filterelement_is_toodeep(owl_filter *f, owl_filterelement *fe) 289 288 { 290 289 int rv; … … 300 299 } 301 300 302 int _owl_filterelement_is_toodeep( constowl_filterelement *fe, owl_dict *seen)301 int _owl_filterelement_is_toodeep(owl_filterelement *fe, owl_dict *seen) 303 302 { 304 303 int rv = 0; 305 constowl_filter *f;304 owl_filter *f; 306 305 307 306 if(fe->match_message == owl_filterelement_match_filter) { … … 338 337 } 339 338 340 void owl_filterelement_print( constowl_filterelement *fe, GString *buf)339 void owl_filterelement_print(owl_filterelement *fe, GString *buf) 341 340 { 342 341 if(!fe || !fe->print_elt) return;
Note: See TracChangeset
for help on using the changeset viewer.