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