コード例 #1
0
ファイル: filter.c プロジェクト: semyda94/syslog-ng
static void
fop_free(FilterExprNode *s)
{
  FilterOp *self = (FilterOp *) s;
  
  filter_expr_free(self->left);
  filter_expr_free(self->right);
  g_free(self);
}
コード例 #2
0
ファイル: test_tags.c プロジェクト: millken/zhuxianB30
void
test_filters(void)
{
  LogMessage *msg = log_msg_new_empty();
  FilterExprNode *f = filter_tags_new(NULL);
  guint i;
  GList *l = NULL;

  test_msg("=== filter tests ===\n");

  for (i = 1; i < FILTER_TAGS; i += 3)
    l = g_list_prepend(l, get_tag_by_id(i));

  filter_tags_add(f, l);

  for (i = 0; i < FILTER_TAGS; i++)
    {
      test_msg("Testing filter, message has tag %d\n", i);
      log_msg_set_tag_by_id(msg, i);

      if (((i % 3 == 1) ^ filter_expr_eval(f, msg)))
        test_fail("Failed to match message by tag %d\n", i);

      test_msg("Testing filter, message no tag\n");
      log_msg_clear_tag_by_id(msg, i);
      if (filter_expr_eval(f, msg))
        test_fail("Failed to match message with no tags\n");
    }

  filter_expr_free(f);
  log_msg_unref(msg);
}
コード例 #3
0
ファイル: logrewrite.c プロジェクト: semyda94/syslog-ng
void
log_rewrite_free(LogRewrite *self)
{
  if (self->condition)
    filter_expr_free(self->condition);
  self->free_fn(self);
  g_free(self);
}