* src/matcher.c
[claws.git] / src / matcher.c
index 3c88091ebce1a5c8e953333c6ad1047150170978..f4765782b2f3e13b5917299b2a33331396b63328 100644 (file)
@@ -294,6 +294,7 @@ gboolean matcherprop_match_execute(MatcherProp * prop, MsgInfo * info)
 {
        gchar * file;
        gchar * cmd;
 {
        gchar * file;
        gchar * cmd;
+       gint retval;
 
        file = procmsg_get_message_file(info);
        if (file == NULL)
 
        file = procmsg_get_message_file(info);
        if (file == NULL)
@@ -303,7 +304,10 @@ gboolean matcherprop_match_execute(MatcherProp * prop, MsgInfo * info)
        if (cmd == NULL)
                return FALSE;
 
        if (cmd == NULL)
                return FALSE;
 
-       return (system(cmd) == 0);
+       retval = system(cmd);
+       debug_print(_("Command exit code: %i\n"), retval);
+
+       return (retval == 0);
 }
 
 /* match a message and his headers, hlist can be NULL if you don't
 }
 
 /* match a message and his headers, hlist can be NULL if you don't
@@ -846,6 +850,9 @@ gchar * matcherprop_to_string(MatcherProp * matcher)
        case MATCHCRITERIA_FORWARDED:
        case MATCHCRITERIA_NOT_FORWARDED:
                return g_strdup(criteria_str);
        case MATCHCRITERIA_FORWARDED:
        case MATCHCRITERIA_NOT_FORWARDED:
                return g_strdup(criteria_str);
+       case MATCHCRITERIA_EXECUTE:
+       case MATCHCRITERIA_NOT_EXECUTE:
+               return g_strdup_printf("%s \"%s\"", criteria_str, matcher->expr);
        }
 
        matchtype_str = NULL;
        }
 
        matchtype_str = NULL;