* src/filtering.[ch]
[claws.git] / src / matcher_parser_parse.y
index 55ac707c84d04690d1d434b35e669df3a471316f..41d1503f561f80abe4f3f2493fb901405e9f169b 100644 (file)
@@ -1,13 +1,15 @@
 %{
+#include "defs.h"
+
+#include <glib.h>
+
+#include "intl.h"
+#include "utils.h"
 #include "filtering.h"
 #include "scoring.h"
 #include "matcher.h"
 #include "matcher_parser.h"
 #include "matcher_parser_lex.h"
-#include "intl.h"
-#include <glib.h>
-#include "defs.h"
-#include "utils.h"
 
 static gint error = 0;
 static gint bool_op = 0;
@@ -160,7 +162,7 @@ int matcher_parserwrap(void)
 %token MATCHER_MARK_AS_READ  MATCHER_MARK_AS_UNREAD  MATCHER_FORWARD
 %token MATCHER_FORWARD_AS_ATTACHMENT  MATCHER_EOL  MATCHER_STRING  
 %token MATCHER_OR MATCHER_AND  
-%token MATCHER_COLOR MATCHER_SCORE_EQUAL MATCHER_BOUNCE
+%token MATCHER_COLOR MATCHER_SCORE_EQUAL MATCHER_BOUNCE MATCHER_DELETE_ON_SERVER
 
 %start file
 
@@ -769,7 +771,7 @@ MATCHER_EXECUTE MATCHER_STRING
        gint account_id = 0;
 
        action_type = MATCHACTION_FORWARD;
-       account_id = $2;
+       account_id = atoi($2);
        destination = $3;
        action = filteringaction_new(action_type, account_id, destination, 0);
 }
@@ -780,7 +782,7 @@ MATCHER_EXECUTE MATCHER_STRING
        gint account_id = 0;
 
        action_type = MATCHACTION_FORWARD_AS_ATTACHMENT;
-       account_id = $2;
+       account_id = atoi($2);
        destination = $3;
        action = filteringaction_new(action_type, account_id, destination, 0);
 }
@@ -791,7 +793,7 @@ MATCHER_EXECUTE MATCHER_STRING
        gint account_id = 0;
 
        action_type = MATCHACTION_BOUNCE;
-       account_id = $2;
+       account_id = atoi($2);
        destination = $3;
        action = filteringaction_new(action_type, account_id, destination, 0);
 }
@@ -804,6 +806,12 @@ MATCHER_EXECUTE MATCHER_STRING
        color = atoi($2);
        action = filteringaction_new(action_type, 0, NULL, color);
 }
+| MATCHER_DELETE_ON_SERVER
+{
+       gint action_type = 0;
+       action_type = MATCHACTION_DELETE_ON_SERVER;
+       action = filteringaction_new(action_type, 0, NULL, 0);
+}
 ;
 
 scoring_rule: