re-organize matcher part 4; more to come
[claws.git] / src / matcher_parser_parse.y
index b0631fd5328e9ae3acdaa2f8243f053289b8ea50..48299b3a4069c6877905560546a3ba212173e454 100644 (file)
@@ -1,4 +1,25 @@
+
 %{
+
+/*
+ * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
+ * Copyright (c) 2001-2002 by Hiroyuki Yamamoto & The Sylpheed Claws Team.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
 #include "defs.h"
 
 #include <glib.h>
 static gint error = 0;
 static gint bool_op = 0;
 static gint match_type = 0;
-static gchar * header = NULL;
+static gchar *header = NULL;
 
-static MatcherProp * prop;
+static MatcherProp *prop;
 
-static GSList * matchers_list = NULL;
+static GSList *matchers_list = NULL;
 
-static MatcherList * cond;
+static MatcherList *cond;
 static gint score = 0;
-static FilteringAction * action = NULL;
+static FilteringAction *action = NULL;
 
-static FilteringProp *  filtering;
-static ScoringProp * scoring = NULL;
+static FilteringProp *filtering;
+static ScoringProp *scoring = NULL;
 
-static GSList ** prefs_scoring = NULL;
-static GSList ** prefs_filtering = NULL;
+static GSList **prefs_scoring = NULL;
+static GSList **prefs_filtering = NULL;
 
 static int matcher_parser_dialog = 0;
 
-
 /* ******************************************************************** */
 
-
-
-void matcher_parser_start_parsing(FILE * f)
+void matcher_parser_start_parsing(FILE *f)
 {
        matcher_parserrestart(f);
        matcher_parserparse();
 }
  
-FilteringProp * matcher_parser_get_filtering(gchar * str)
+FilteringProp *matcher_parser_get_filtering(gchar *str)
 {
-       void * bufstate;
+       void *bufstate;
 
        /* bad coding to enable the sub-grammar matching
           in yacc */
@@ -65,9 +83,9 @@ FilteringProp * matcher_parser_get_filtering(gchar * str)
        return filtering;
 }
 
-ScoringProp * matcher_parser_get_scoring(gchar * str)
+ScoringProp *matcher_parser_get_scoring(gchar *str)
 {
-       void * bufstate;
+       void *bufstate;
 
        /* bad coding to enable the sub-grammar matching
           in yacc */
@@ -84,7 +102,7 @@ ScoringProp * matcher_parser_get_scoring(gchar * str)
        return scoring;
 }
 
-static gboolean check_quote_symetry (gchar *str)
+static gboolean check_quote_symetry(gchar *str)
 {
        gchar *walk;
        int ret = 0;
@@ -100,12 +118,12 @@ static gboolean check_quote_symetry (gchar *str)
                                ret ++;
                }
        }
-       return !(ret%2);
+       return !(ret % 2);
 }
 
-MatcherList * matcher_parser_get_cond(gchar * str)
+MatcherList *matcher_parser_get_cond(gchar *str)
 {
-       void * bufstate;
+       void *bufstate;
 
        if (!check_quote_symetry(str)) {
                cond = NULL;
@@ -125,10 +143,10 @@ MatcherList * matcher_parser_get_cond(gchar * str)
        return cond;
 }
 
-MatcherProp * matcher_parser_get_prop(gchar * str)
+MatcherProp *matcher_parser_get_prop(gchar *str)
 {
-       MatcherList * list;
-       MatcherProp * prop;
+       MatcherList *list;
+       MatcherProp *prop;
 
        matcher_parserlineno = 1;
        list = matcher_parser_get_cond(str);
@@ -149,13 +167,12 @@ MatcherProp * matcher_parser_get_prop(gchar * str)
        return prop;
 }
 
-void matcher_parsererror(char * str)
+void matcher_parsererror(char *str)
 {
-       GSList * l;
+       GSList *l;
 
        if (matchers_list) {
-               for(l = matchers_list ; l != NULL ;
-                   l = g_slist_next(l)) {
+               for (l = matchers_list; l != NULL; l = g_slist_next(l)) {
                        matcherprop_free((MatcherProp *)
                                         l->data);
                        l->data = NULL;
@@ -176,7 +193,7 @@ int matcher_parserwrap(void)
 %}
 
 %union {
-       char * str;
+       char *str;
        int value;
 }
 
@@ -238,8 +255,8 @@ section_notification
 section_notification:
 MATCHER_SECTION MATCHER_EOL
 {
-       gchar * folder = $1;
-       FolderItem * item = NULL;
+       gchar *folder = $1;
+       FolderItem *item = NULL;
 
        if (!matcher_parser_dialog) {
                item = folder_find_item_from_identifier(folder);
@@ -293,8 +310,8 @@ filtering_action
        cond = NULL;
        action = NULL;
        if (!matcher_parser_dialog) {
-               * prefs_filtering = g_slist_append(* prefs_filtering,
-                                                  filtering);
+               *prefs_filtering = g_slist_append(*prefs_filtering,
+                                                 filtering);
                filtering = NULL;
        }
 }
@@ -304,7 +321,7 @@ filtering_action
        cond = NULL;
        score = 0;
        if (!matcher_parser_dialog) {
-               * prefs_scoring = g_slist_append(* prefs_scoring, scoring);
+               *prefs_scoring = g_slist_append(*prefs_scoring, scoring);
                scoring = NULL;
        }
 }
@@ -491,7 +508,7 @@ MATCHER_ALL
 | MATCHER_SUBJECT match_type MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_SUBJECT;
        expr = $3;
@@ -500,7 +517,7 @@ MATCHER_ALL
 | MATCHER_NOT_SUBJECT match_type MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_NOT_SUBJECT;
        expr = $3;
@@ -509,7 +526,7 @@ MATCHER_ALL
 | MATCHER_FROM match_type MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_FROM;
        expr = $3;
@@ -518,7 +535,7 @@ MATCHER_ALL
 | MATCHER_NOT_FROM match_type MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_NOT_FROM;
        expr = $3;
@@ -527,7 +544,7 @@ MATCHER_ALL
 | MATCHER_TO match_type MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_TO;
        expr = $3;
@@ -536,7 +553,7 @@ MATCHER_ALL
 | MATCHER_NOT_TO match_type MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_NOT_TO;
        expr = $3;
@@ -545,7 +562,7 @@ MATCHER_ALL
 | MATCHER_CC match_type MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_CC;
        expr = $3;
@@ -554,7 +571,7 @@ MATCHER_ALL
 | MATCHER_NOT_CC match_type MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_NOT_CC;
        expr = $3;
@@ -563,7 +580,7 @@ MATCHER_ALL
 | MATCHER_TO_OR_CC match_type MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_TO_OR_CC;
        expr = $3;
@@ -572,7 +589,7 @@ MATCHER_ALL
 | MATCHER_NOT_TO_AND_NOT_CC match_type MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_NOT_TO_AND_NOT_CC;
        expr = $3;
@@ -599,7 +616,7 @@ MATCHER_ALL
 | MATCHER_NEWSGROUPS match_type MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_NEWSGROUPS;
        expr = $3;
@@ -608,7 +625,7 @@ MATCHER_ALL
 | MATCHER_NOT_NEWSGROUPS match_type MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_NOT_NEWSGROUPS;
        expr = $3;
@@ -617,7 +634,7 @@ MATCHER_ALL
 | MATCHER_INREPLYTO match_type MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_INREPLYTO;
        expr = $3;
@@ -626,7 +643,7 @@ MATCHER_ALL
 | MATCHER_NOT_INREPLYTO match_type MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_NOT_INREPLYTO;
        expr = $3;
@@ -635,7 +652,7 @@ MATCHER_ALL
 | MATCHER_REFERENCES match_type MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_REFERENCES;
        expr = $3;
@@ -644,7 +661,7 @@ MATCHER_ALL
 | MATCHER_NOT_REFERENCES match_type MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_NOT_REFERENCES;
        expr = $3;
@@ -707,7 +724,7 @@ MATCHER_ALL
 } match_type MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_HEADER;
        expr = $2;
@@ -720,7 +737,7 @@ MATCHER_ALL
 } match_type MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_NOT_HEADER;
        expr = $2;
@@ -730,7 +747,7 @@ MATCHER_ALL
 | MATCHER_HEADERS_PART match_type MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_HEADERS_PART;
        expr = $3;
@@ -739,7 +756,7 @@ MATCHER_ALL
 | MATCHER_NOT_HEADERS_PART match_type MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_NOT_HEADERS_PART;
        expr = $3;
@@ -748,7 +765,7 @@ MATCHER_ALL
 | MATCHER_MESSAGE match_type MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_MESSAGE;
        expr = $3;
@@ -757,7 +774,7 @@ MATCHER_ALL
 | MATCHER_NOT_MESSAGE match_type MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_NOT_MESSAGE;
        expr = $3;
@@ -766,7 +783,7 @@ MATCHER_ALL
 | MATCHER_BODY_PART match_type MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_BODY_PART;
        expr = $3;
@@ -775,7 +792,7 @@ MATCHER_ALL
 | MATCHER_NOT_BODY_PART match_type MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_NOT_BODY_PART;
        expr = $3;
@@ -784,7 +801,7 @@ MATCHER_ALL
 | MATCHER_EXECUTE MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_EXECUTE;
        expr = $2;
@@ -793,7 +810,7 @@ MATCHER_ALL
 | MATCHER_NOT_EXECUTE MATCHER_STRING
 {
        gint criteria = 0;
-       gchar * expr = NULL;
+       gchar *expr = NULL;
 
        criteria = MATCHCRITERIA_NOT_EXECUTE;
        expr = $2;
@@ -804,7 +821,7 @@ MATCHER_ALL
 filtering_action:
 MATCHER_EXECUTE MATCHER_STRING
 {
-       gchar * cmd = NULL;
+       gchar *cmd = NULL;
        gint action_type = 0;
 
        action_type = MATCHACTION_EXECUTE;
@@ -813,7 +830,7 @@ MATCHER_EXECUTE MATCHER_STRING
 }
 | MATCHER_MOVE MATCHER_STRING
 {
-       gchar * destination = NULL;
+       gchar *destination = NULL;
        gint action_type = 0;
 
        action_type = MATCHACTION_MOVE;
@@ -822,7 +839,7 @@ MATCHER_EXECUTE MATCHER_STRING
 }
 | MATCHER_COPY MATCHER_STRING
 {
-       gchar * destination = NULL;
+       gchar *destination = NULL;
        gint action_type = 0;
 
        action_type = MATCHACTION_COPY;
@@ -866,7 +883,7 @@ MATCHER_EXECUTE MATCHER_STRING
 }
 | MATCHER_FORWARD MATCHER_INTEGER MATCHER_STRING
 {
-       gchar * destination = NULL;
+       gchar *destination = NULL;
        gint action_type = 0;
        gint account_id = 0;
 
@@ -877,7 +894,7 @@ MATCHER_EXECUTE MATCHER_STRING
 }
 | MATCHER_FORWARD_AS_ATTACHMENT MATCHER_INTEGER MATCHER_STRING
 {
-       gchar * destination = NULL;
+       gchar *destination = NULL;
        gint action_type = 0;
        gint account_id = 0;
 
@@ -888,7 +905,7 @@ MATCHER_EXECUTE MATCHER_STRING
 }
 | MATCHER_REDIRECT MATCHER_INTEGER MATCHER_STRING
 {
-       gchar * destination = NULL;
+       gchar *destination = NULL;
        gint action_type = 0;
        gint account_id = 0;