From: Vsevolod Stakhov Date: Fri, 22 Apr 2016 09:41:09 +0000 (+0100) Subject: [Fix] Fix symbol type's check X-Git-Tag: 1.3.0~672 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=d6f7e8fa5455f8c19a8215cc67f52fff40f5663a;p=rspamd.git [Fix] Fix symbol type's check --- diff --git a/src/libserver/symbols_cache.c b/src/libserver/symbols_cache.c index 717018e25..20c2a8ec0 100644 --- a/src/libserver/symbols_cache.c +++ b/src/libserver/symbols_cache.c @@ -600,15 +600,15 @@ rspamd_symbols_cache_add_symbol (struct symbols_cache *cache, g_assert (cache != NULL); - if (name == NULL && type != SYMBOL_TYPE_CALLBACK) { + if (name == NULL && !(type & SYMBOL_TYPE_CALLBACK)) { msg_warn_cache ("no name for non-callback symbol!"); } - else if (type == SYMBOL_TYPE_VIRTUAL && parent == -1) { + else if ((type & SYMBOL_TYPE_VIRTUAL) && parent == -1) { msg_warn_cache ("no parent symbol is associated with virtual symbol %s", name); } - if (name != NULL && type != SYMBOL_TYPE_CALLBACK) { + if (name != NULL && !(type & SYMBOL_TYPE_CALLBACK)) { if (g_hash_table_lookup (cache->items_by_symbol, name) != NULL) { msg_err_cache ("skip duplicate symbol registration for %s", name); return -1;