Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • filterelement.c

    r4542047 r41c9a96  
    11#include "owl.h"
    22
    3 static const char * owl_filterelement_get_field(const owl_message *m, const char * field)
    4 {
    5   const char *match;
     3static char * owl_filterelement_get_field(owl_message *m, char * field)
     4{
     5  char *match;
    66  if (!strcasecmp(field, "class")) {
    77    match=owl_message_get_class(m);
     
    4848}
    4949
    50 static int owl_filterelement_match_false(const owl_filterelement *fe, const owl_message *m)
     50static int owl_filterelement_match_false(owl_filterelement *fe, owl_message *m)
    5151{
    5252  return 0;
    5353}
    5454
    55 static int owl_filterelement_match_true(const owl_filterelement *fe, const owl_message *m)
     55static int owl_filterelement_match_true(owl_filterelement *fe, owl_message *m)
    5656{
    5757  return 1;
    5858}
    5959
    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);
     60static int owl_filterelement_match_re(owl_filterelement *fe, owl_message *m)
     61{
     62  char * val = owl_filterelement_get_field(m, fe->field);
    6363  return !owl_regex_compare(&(fe->re), val, NULL, NULL);
    6464}
    6565
    66 static int owl_filterelement_match_filter(const owl_filterelement *fe, const owl_message *m)
    67 {
    68   const owl_filter *subfilter;
     66static int owl_filterelement_match_filter(owl_filterelement *fe, owl_message *m)
     67{
     68  owl_filter *subfilter;
    6969  subfilter=owl_global_get_filter(&g, fe->field);
    7070  if (!subfilter) {
     
    7777}
    7878
    79 static int owl_filterelement_match_perl(const owl_filterelement *fe, const owl_message *m)
    80 {
    81   const char *subname;
    82   char *perlrv;
     79static int owl_filterelement_match_perl(owl_filterelement *fe, owl_message *m)
     80{
     81  char *subname, *perlrv;
    8382  int   tf=0;
    8483
     
    9796}
    9897
    99 static int owl_filterelement_match_group(const owl_filterelement *fe, const owl_message *m)
     98static int owl_filterelement_match_group(owl_filterelement *fe, owl_message *m)
    10099{
    101100  return owl_filterelement_match(fe->left, m);
     
    106105*/
    107106
    108 static int owl_filterelement_match_and(const owl_filterelement *fe, const owl_message *m)
     107static int owl_filterelement_match_and(owl_filterelement *fe, owl_message *m)
    109108{
    110109  return owl_filterelement_match(fe->left, m) &&
     
    112111}
    113112
    114 static int owl_filterelement_match_or(const owl_filterelement *fe, const owl_message *m)
     113static int owl_filterelement_match_or(owl_filterelement *fe, owl_message *m)
    115114{
    116115  return owl_filterelement_match(fe->left, m) ||
     
    118117}
    119118
    120 static int owl_filterelement_match_not(const owl_filterelement *fe, const owl_message *m)
     119static int owl_filterelement_match_not(owl_filterelement *fe, owl_message *m)
    121120{
    122121  return !owl_filterelement_match(fe->left, m);
     
    125124/* Print methods */
    126125
    127 static void owl_filterelement_print_true(const owl_filterelement *fe, GString *buf)
     126static void owl_filterelement_print_true(owl_filterelement *fe, GString *buf)
    128127{
    129128  g_string_append(buf, "true");
    130129}
    131130
    132 static void owl_filterelement_print_false(const owl_filterelement *fe, GString *buf)
     131static void owl_filterelement_print_false(owl_filterelement *fe, GString *buf)
    133132{
    134133  g_string_append(buf, "false");
    135134}
    136135
    137 static void owl_filterelement_print_re(const owl_filterelement *fe, GString *buf)
    138 {
    139   const char *re, *q;
     136static void owl_filterelement_print_re(owl_filterelement *fe, GString *buf)
     137{
     138  char *re, *q;
    140139  g_string_append(buf, fe->field);
    141140  g_string_append(buf, " ");
     
    148147}
    149148
    150 static void owl_filterelement_print_filter(const owl_filterelement *fe, GString *buf)
     149static void owl_filterelement_print_filter(owl_filterelement *fe, GString *buf)
    151150{
    152151  g_string_append(buf, "filter ");
     
    154153}
    155154
    156 static void owl_filterelement_print_perl(const owl_filterelement *fe, GString *buf)
     155static void owl_filterelement_print_perl(owl_filterelement *fe, GString *buf)
    157156{
    158157  g_string_append(buf, "perl ");
     
    160159}
    161160
    162 static void owl_filterelement_print_group(const owl_filterelement *fe, GString *buf)
     161static void owl_filterelement_print_group(owl_filterelement *fe, GString *buf)
    163162{
    164163  g_string_append(buf, "( ");
     
    167166}
    168167
    169 static void owl_filterelement_print_or(const owl_filterelement *fe, GString *buf)
     168static void owl_filterelement_print_or(owl_filterelement *fe, GString *buf)
    170169{
    171170  owl_filterelement_print(fe->left, buf);
     
    174173}
    175174
    176 static void owl_filterelement_print_and(const owl_filterelement *fe, GString *buf)
     175static void owl_filterelement_print_and(owl_filterelement *fe, GString *buf)
    177176{
    178177  owl_filterelement_print(fe->left, buf);
     
    181180}
    182181
    183 static void owl_filterelement_print_not(const owl_filterelement *fe, GString *buf)
     182static void owl_filterelement_print_not(owl_filterelement *fe, GString *buf)
    184183{
    185184  g_string_append(buf, " not ");
     
    212211}
    213212
    214 int owl_filterelement_create_re(owl_filterelement *fe, const char *field, const char *re)
     213int owl_filterelement_create_re(owl_filterelement *fe, char *field, char *re)
    215214{
    216215  owl_filterelement_create(fe);
     
    226225}
    227226
    228 void owl_filterelement_create_filter(owl_filterelement *fe, const char *name)
     227void owl_filterelement_create_filter(owl_filterelement *fe, char *name)
    229228{
    230229  owl_filterelement_create(fe);
     
    234233}
    235234
    236 void owl_filterelement_create_perl(owl_filterelement *fe, const char *name)
     235void owl_filterelement_create_perl(owl_filterelement *fe, char *name)
    237236{
    238237  owl_filterelement_create(fe);
     
    276275}
    277276
    278 int owl_filterelement_match(const owl_filterelement *fe, const owl_message *m)
     277int owl_filterelement_match(owl_filterelement *fe, owl_message *m)
    279278{
    280279  if(!fe) return 0;
     
    286285static int fe_visited  = 1;
    287286
    288 int owl_filterelement_is_toodeep(const owl_filter *f, const owl_filterelement *fe)
     287int owl_filterelement_is_toodeep(owl_filter *f, owl_filterelement *fe)
    289288{
    290289  int rv;
     
    300299}
    301300
    302 int _owl_filterelement_is_toodeep(const owl_filterelement *fe, owl_dict *seen)
     301int _owl_filterelement_is_toodeep(owl_filterelement *fe, owl_dict *seen)
    303302{
    304303  int rv = 0;
    305   const owl_filter *f;
     304  owl_filter *f;
    306305
    307306  if(fe->match_message == owl_filterelement_match_filter) {
     
    338337}
    339338
    340 void owl_filterelement_print(const owl_filterelement *fe, GString *buf)
     339void owl_filterelement_print(owl_filterelement *fe, GString *buf)
    341340{
    342341  if(!fe || !fe->print_elt) return;
Note: See TracChangeset for help on using the changeset viewer.