aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/lua/lua_config.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/lua/lua_config.c b/src/lua/lua_config.c
index 4d728cf14..fdf87d332 100644
--- a/src/lua/lua_config.c
+++ b/src/lua/lua_config.c
@@ -1814,17 +1814,23 @@ lua_parse_symbol_type (const gchar *str)
str = vec[i];
if (g_ascii_strcasecmp (str, "virtual") == 0) {
- ret = SYMBOL_TYPE_VIRTUAL;
+ ret |= SYMBOL_TYPE_VIRTUAL;
+ ret &= ~SYMBOL_TYPE_NORMAL;
+ ret &= ~SYMBOL_TYPE_CALLBACK;
} else if (g_ascii_strcasecmp (str, "callback") == 0) {
- ret = SYMBOL_TYPE_CALLBACK;
+ ret |= SYMBOL_TYPE_CALLBACK;
+ ret &= ~SYMBOL_TYPE_NORMAL;
+ ret &= ~SYMBOL_TYPE_VIRTUAL;
} else if (g_ascii_strcasecmp (str, "normal") == 0) {
- ret = SYMBOL_TYPE_NORMAL;
+ ret |= SYMBOL_TYPE_NORMAL;
+ ret &= ~SYMBOL_TYPE_CALLBACK;
+ ret &= ~SYMBOL_TYPE_VIRTUAL;
} else if (g_ascii_strcasecmp (str, "prefilter") == 0) {
- ret = SYMBOL_TYPE_PREFILTER | SYMBOL_TYPE_GHOST;
+ ret |= SYMBOL_TYPE_PREFILTER | SYMBOL_TYPE_GHOST;
} else if (g_ascii_strcasecmp (str, "postfilter") == 0) {
- ret = SYMBOL_TYPE_POSTFILTER | SYMBOL_TYPE_GHOST;
+ ret |= SYMBOL_TYPE_POSTFILTER | SYMBOL_TYPE_GHOST;
} else if (g_ascii_strcasecmp (str, "idempotent") == 0) {
- ret = SYMBOL_TYPE_POSTFILTER | SYMBOL_TYPE_GHOST |
+ ret |= SYMBOL_TYPE_POSTFILTER | SYMBOL_TYPE_GHOST |
SYMBOL_TYPE_IDEMPOTENT;
} else {
gint fl = 0;