]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
Store weight of symbol properly allowing dynamic conf code to modify a single pointer...
authorVsevolod Stakhov <vsevolod@rambler-co.ru>
Wed, 9 Jan 2013 15:07:32 +0000 (19:07 +0400)
committerVsevolod Stakhov <vsevolod@rambler-co.ru>
Wed, 9 Jan 2013 15:07:32 +0000 (19:07 +0400)
src/cfg_file.h
src/cfg_xml.c
src/webui.c

index e3e24759e41d40a0464d8e457f0b7e9bacd1e8fc..e87d10316ccee3bae93ebf51103e3fbdd7473ff8 100644 (file)
@@ -144,7 +144,7 @@ struct module_opt {
 struct symbol_def {
        gchar *name;
        gchar *description;
-       gdouble weight;
+       gdouble *weight_ptr;
 };
 
 /**
index b7e5a7ab9b44bf44b39b8329354d8161db27b83d..ea42e1ae254255ced5fec67c73264c4672521ab5 100644 (file)
@@ -1097,7 +1097,7 @@ handle_metric_symbol (struct config_file *cfg, struct rspamd_xml_userdata *ctx,
                }
        }
        
-       sym_def->weight = *value;
+       sym_def->weight_ptr = value;
        sym_def->name = memory_pool_strdup (cfg->cfg_pool, data);
 
        if (attrs != NULL) {
index c7f7345125722e545cc2c8fc7881b758adcdee09..a86f9abe6e588d6a69edd58542c4caaf94192435 100644 (file)
@@ -589,11 +589,11 @@ http_handle_symbols (struct evhttp_request *req, gpointer arg)
                        sym = cur_sym->data;
 
                        if (sym->description) {
-                               evbuffer_add_printf (evb, "{\"symbol\":\"%s\",\"weight\":%.2f,\"description\":\"%s\"%s", sym->name, sym->weight,
+                               evbuffer_add_printf (evb, "{\"symbol\":\"%s\",\"weight\":%.2f,\"description\":\"%s\"%s", sym->name, *sym->weight_ptr,
                                                sym->description, g_list_next (cur_sym) ? "}," : "}");
                        }
                        else {
-                               evbuffer_add_printf (evb, "{\"symbol\":\"%s\",\"weight\":%.2f%s", sym->name, sym->weight,
+                               evbuffer_add_printf (evb, "{\"symbol\":\"%s\",\"weight\":%.2f%s", sym->name, *sym->weight_ptr,
                                                                                g_list_next (cur_sym) ? "}," : "}");
                        }