Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • filterelement.c

    r41c9a96 r4542047  
    11#include "owl.h"
    22
    3 static char * owl_filterelement_get_field(owl_message *m, char * field)
    4 {
    5   char *match;
     3static const char * owl_filterelement_get_field(const owl_message *m, const char * field)
     4{
     5  const char *match;
    66  if (!strcasecmp(field, "class")) {
    77    match=owl_message_get_class(m);
     
    4848}
    4949
    50 static int owl_filterelement_match_false(owl_filterelement *fe, owl_message *m)
     50static int owl_filterelement_match_false(const owl_filterelement *fe, const owl_message *m)
    5151{
    5252  return 0;
    5353}
    5454
    55 static int owl_filterelement_match_true(owl_filterelement *fe, owl_message *m)
     55static int owl_filterelement_match_true(const owl_filterelement *fe, const owl_message *m)
    5656{
    5757  return 1;
    5858}
    5959
    60 static int owl_filterelement_match_re(owl_filterelement *fe, owl_message *m)
    61 {
    62   char * val = owl_filterelement_get_field(m, fe->field);
     60static 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);
    6363  return !owl_regex_compare(&(fe->re), val, NULL, NULL);
    6464}
    6565
    66 static int owl_filterelement_match_filter(owl_filterelement *fe, owl_message *m)
    67 {
    68   owl_filter *subfilter;
     66static int owl_filterelement_match_filter(const owl_filterelement *fe, const owl_message *m)
     67{
     68  const owl_filter *subfilter;
    6969  subfilter=owl_global_get_filter(&g, fe->field);
    7070  if (!subfilter) {
     
    7777}
    7878
    79 static int owl_filterelement_match_perl(owl_filterelement *fe, owl_message *m)
    80 {
    81   char *subname, *perlrv;
     79static int owl_filterelement_match_perl(const owl_filterelement *fe, const owl_message *m)
     80{
     81  const char *subname;
     82  char *perlrv;
    8283  int   tf=0;
    8384
     
    9697}
    9798
    98 static int owl_filterelement_match_group(owl_filterelement *fe, owl_message *m)
     99static int owl_filterelement_match_group(const owl_filterelement *fe, const owl_message *m)
    99100{
    100101  return owl_filterelement_match(fe->left, m);
     
    105106*/
    106107
    107 static int owl_filterelement_match_and(owl_filterelement *fe, owl_message *m)
     108static int owl_filterelement_match_and(const owl_filterelement *fe, const owl_message *m)
    108109{
    109110  return owl_filterelement_match(fe->left, m) &&
     
    111112}
    112113
    113 static int owl_filterelement_match_or(owl_filterelement *fe, owl_message *m)
     114static int owl_filterelement_match_or(const owl_filterelement *fe, const owl_message *m)
    114115{
    115116  return owl_filterelement_match(fe->left, m) ||
     
    117118}
    118119
    119 static int owl_filterelement_match_not(owl_filterelement *fe, owl_message *m)
     120static int owl_filterelement_match_not(const owl_filterelement *fe, const owl_message *m)
    120121{
    121122  return !owl_filterelement_match(fe->left, m);
     
    124125/* Print methods */
    125126
    126 static void owl_filterelement_print_true(owl_filterelement *fe, GString *buf)
     127static void owl_filterelement_print_true(const owl_filterelement *fe, GString *buf)
    127128{
    128129  g_string_append(buf, "true");
    129130}
    130131
    131 static void owl_filterelement_print_false(owl_filterelement *fe, GString *buf)
     132static void owl_filterelement_print_false(const owl_filterelement *fe, GString *buf)
    132133{
    133134  g_string_append(buf, "false");
    134135}
    135136
    136 static void owl_filterelement_print_re(owl_filterelement *fe, GString *buf)
    137 {
    138   char *re, *q;
     137static void owl_filterelement_print_re(const owl_filterelement *fe, GString *buf)
     138{
     139  const char *re, *q;
    139140  g_string_append(buf, fe->field);
    140141  g_string_append(buf, " ");
     
    147148}
    148149
    149 static void owl_filterelement_print_filter(owl_filterelement *fe, GString *buf)
     150static void owl_filterelement_print_filter(const owl_filterelement *fe, GString *buf)
    150151{
    151152  g_string_append(buf, "filter ");
     
    153154}
    154155
    155 static void owl_filterelement_print_perl(owl_filterelement *fe, GString *buf)
     156static void owl_filterelement_print_perl(const owl_filterelement *fe, GString *buf)
    156157{
    157158  g_string_append(buf, "perl ");
     
    159160}
    160161
    161 static void owl_filterelement_print_group(owl_filterelement *fe, GString *buf)
     162static void owl_filterelement_print_group(const owl_filterelement *fe, GString *buf)
    162163{
    163164  g_string_append(buf, "( ");
     
    166167}
    167168
    168 static void owl_filterelement_print_or(owl_filterelement *fe, GString *buf)
     169static void owl_filterelement_print_or(const owl_filterelement *fe, GString *buf)
    169170{
    170171  owl_filterelement_print(fe->left, buf);
     
    173174}
    174175
    175 static void owl_filterelement_print_and(owl_filterelement *fe, GString *buf)
     176static void owl_filterelement_print_and(const owl_filterelement *fe, GString *buf)
    176177{
    177178  owl_filterelement_print(fe->left, buf);
     
    180181}
    181182
    182 static void owl_filterelement_print_not(owl_filterelement *fe, GString *buf)
     183static void owl_filterelement_print_not(const owl_filterelement *fe, GString *buf)
    183184{
    184185  g_string_append(buf, " not ");
     
    211212}
    212213
    213 int owl_filterelement_create_re(owl_filterelement *fe, char *field, char *re)
     214int owl_filterelement_create_re(owl_filterelement *fe, const char *field, const char *re)
    214215{
    215216  owl_filterelement_create(fe);
     
    225226}
    226227
    227 void owl_filterelement_create_filter(owl_filterelement *fe, char *name)
     228void owl_filterelement_create_filter(owl_filterelement *fe, const char *name)
    228229{
    229230  owl_filterelement_create(fe);
     
    233234}
    234235
    235 void owl_filterelement_create_perl(owl_filterelement *fe, char *name)
     236void owl_filterelement_create_perl(owl_filterelement *fe, const char *name)
    236237{
    237238  owl_filterelement_create(fe);
     
    275276}
    276277
    277 int owl_filterelement_match(owl_filterelement *fe, owl_message *m)
     278int owl_filterelement_match(const owl_filterelement *fe, const owl_message *m)
    278279{
    279280  if(!fe) return 0;
     
    285286static int fe_visited  = 1;
    286287
    287 int owl_filterelement_is_toodeep(owl_filter *f, owl_filterelement *fe)
     288int owl_filterelement_is_toodeep(const owl_filter *f, const owl_filterelement *fe)
    288289{
    289290  int rv;
     
    299300}
    300301
    301 int _owl_filterelement_is_toodeep(owl_filterelement *fe, owl_dict *seen)
     302int _owl_filterelement_is_toodeep(const owl_filterelement *fe, owl_dict *seen)
    302303{
    303304  int rv = 0;
    304   owl_filter *f;
     305  const owl_filter *f;
    305306
    306307  if(fe->match_message == owl_filterelement_match_filter) {
     
    337338}
    338339
    339 void owl_filterelement_print(owl_filterelement *fe, GString *buf)
     340void owl_filterelement_print(const owl_filterelement *fe, GString *buf)
    340341{
    341342  if(!fe || !fe->print_elt) return;
Note: See TracChangeset for help on using the changeset viewer.