Changeset 1ced34f


Ignore:
Timestamp:
May 27, 2013, 2:09:44 PM (8 years ago)
Author:
Jason Gross <jgross@mit.edu>
Branches:
master
Children:
0adbce1
Parents:
b58dea1
git-author:
Jason Gross <jgross@mit.edu> (02/16/13 14:03:27)
git-committer:
Jason Gross <jgross@mit.edu> (05/27/13 14:09:44)
Message:
Expose message_matches_filter to perl
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • perl/lib/BarnOwl.pm

    r104a4eb r1ced34f  
    1414                    error debug
    1515                    create_style getnumcolors wordwrap
     16                    message_matches_filter
    1617                    add_dispatch remove_dispatch
    1718                    add_io_dispatch remove_io_dispatch
     
    239240
    240241Returns the number of colors this BarnOwl is capable of displaying
     242
     243=head2 message_matches_filter MESSAGE FILTER_NAME [QUIET = 0]
     244
     245Returns 1 if C<FILTER_NAME> is the name of a valid filter, and
     246C<MESSAGE> matches that filter.  Returns 0 otherwise.  If
     247C<QUIET> is false, this method displays an error message if
     248if C<FILTER_NAME> does not name a valid filter.
    241249
    242250=head2 add_dispatch FD CALLBACK
  • perlglue.xs

    r3b9ca71 r1ced34f  
    256256        }
    257257
     258bool
     259message_matches_filter(message, filter_name, quiet = false)
     260        SV *message
     261        const char *filter_name
     262        bool quiet
     263        PREINIT:
     264                owl_message *m;
     265                const owl_filter *f;
     266        CODE:
     267        {
     268                if (!SvROK(message) || SvTYPE(SvRV(message)) != SVt_PVHV) {
     269                        croak("Usage: BarnOwl::message_matches_filter($message, $filter_name[, $quiet])");
     270                }
     271
     272                m = owl_perlconfig_hashref2message(message);
     273                f = owl_global_get_filter(&g, filter_name);
     274                if (!f && !quiet) {
     275                        owl_function_error("%s filter is not defined", filter_name);
     276                }
     277                RETVAL = f && owl_filter_message_match(f, m);
     278        }
     279        OUTPUT:
     280                RETVAL
     281        CLEANUP:
     282                owl_message_delete(m);
     283
    258284const utf8 *
    259285wordwrap(in, cols)
Note: See TracChangeset for help on using the changeset viewer.