aboutsummaryrefslogtreecommitdiffstats
path: root/src/libwpactrl/wpactrl_filter_match.c
blob: 09b6eabbf1cd9c26dc95ad4e51b9126f7138162d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* ISC license. */

#include <string.h>
#include <bcnm/wpactrl.h>

int wpactrl_filter_match (wpactrl_t const *a, char const *s, size_t len)
{
  size_t filterlen = a->filters.len ;
  char const *filters = a->filters.s ;
  if (len < 4) return 0 ;
  s += 3 ; len -= 3 ;
  while (filterlen)
  {
    size_t flen = strlen(filters) ;
    if (len >= flen && !strncmp(filters, s, flen)) return 1 ;
    filters += flen+1 ;
    filterlen -= flen+1 ;
  }
  return 0 ;
}