]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Slightly optimize hash lookup
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Sun, 8 Oct 2017 18:21:20 +0000 (19:21 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Sun, 8 Oct 2017 18:21:20 +0000 (19:21 +0100)
src/libserver/composites.c

index bf573ada7fe99b4b7aaf9d97315add62d37bca8b..41dd60b0ca4f0921133b630a08b75f9884dd6505 100644 (file)
@@ -102,8 +102,8 @@ rspamd_composite_process_single_symbol (struct composites_data *cd,
                if ((ncomp =
                                g_hash_table_lookup (cd->task->cfg->composite_symbols,
                                                sym)) != NULL) {
-                       /* Set checked for this symbol to avoid cyclic references */
                        if (isclr (cd->checked, ncomp->id * 2)) {
+                               /* Set checked for this symbol to avoid cyclic references */
                                setbit (cd->checked, cd->composite->id * 2);
                                rc = rspamd_process_expression (ncomp->expr,
                                                RSPAMD_EXPRESSION_FLAG_NOOPT, cd);
@@ -111,10 +111,10 @@ rspamd_composite_process_single_symbol (struct composites_data *cd,
 
                                if (rc) {
                                        setbit (cd->checked, ncomp->id * 2 + 1);
+                                       ms = g_hash_table_lookup (cd->metric_res->symbols, sym);
                                }
-                               setbit (cd->checked, ncomp->id * 2);
 
-                               ms = g_hash_table_lookup (cd->metric_res->symbols, sym);
+                               setbit (cd->checked, ncomp->id * 2);
                        }
                        else {
                                /*