X-Git-Url: http://git.indexdata.com/?p=pazpar2-moved-to-github.git;a=blobdiff_plain;f=src%2Fsettings.c;h=1c52b3005dd2ba42063b38cbb4370555961d24bd;hp=a17d094bb9713e0eb781842dd269b369a874ed46;hb=HEAD;hpb=ec408aa062279768cacf3810db429890cc1ce228 diff --git a/src/settings.c b/src/settings.c index a17d094..1c52b30 100644 --- a/src/settings.c +++ b/src/settings.c @@ -32,6 +32,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include #include #include +#include #include #include @@ -86,6 +87,7 @@ static char *hard_settings[] = { "pz:native_score", "pz:memcached", "pz:redis", + "pz:timeout", 0 }; @@ -156,22 +158,6 @@ char *settings_name(struct conf_service *service, int offset) return service->dictionary->dict[offset]; } - -// Apply a session override to a database -void service_apply_setting(struct conf_service *service, char *setting, char *value) -{ - struct setting *new = nmem_malloc(service->nmem, sizeof(*new)); - int offset = settings_create_offset(service, setting); - expand_settings_array(&service->settings->settings, &service->settings->num_settings, offset, service->nmem); - new->precedence = 0; - new->target = NULL; - new->name = setting; - new->value = value; - new->next = service->settings->settings[offset]; - service->settings->settings[offset] = new; -} - - static int isdir(const char *path) { struct stat st; @@ -191,11 +177,10 @@ int settings_read_node_x(xmlNode *n, struct setting *set)) { int ret_val = 0; /* success */ - char *namea = (char *) xmlGetProp(n, (xmlChar *) "name"); - char *targeta = (char *) xmlGetProp(n, (xmlChar *) "target"); - char *valuea = (char *) xmlGetProp(n, (xmlChar *) "value"); - char *usera = (char *) xmlGetProp(n, (xmlChar *) "user"); - char *precedencea = (char *) xmlGetProp(n, (xmlChar *) "precedence"); + const char *namea = yaz_xml_get_prop(n, "name"); + const char *targeta = yaz_xml_get_prop(n, "target"); + const char *valuea = yaz_xml_get_prop(n, "value"); + const char *precedencea = yaz_xml_get_prop(n, "precedence"); for (n = n->children; n; n = n->next) { @@ -205,11 +190,10 @@ int settings_read_node_x(xmlNode *n, { xmlNode *root = n->children; struct setting set; - char *name = (char *) xmlGetProp(n, (xmlChar *) "name"); - char *target = (char *) xmlGetProp(n, (xmlChar *) "target"); - char *value = (char *) xmlGetProp(n, (xmlChar *) "value"); - char *user = (char *) xmlGetProp(n, (xmlChar *) "user"); - char *precedence = (char *) xmlGetProp(n, (xmlChar *) "precedence"); + const char *name = yaz_xml_get_prop(n, "name"); + const char *target = yaz_xml_get_prop(n, "target"); + const char *value = yaz_xml_get_prop(n, "value"); + const char *precedence = yaz_xml_get_prop(n, "precedence"); xmlChar *buf_out = 0; set.next = 0; @@ -246,7 +230,7 @@ int settings_read_node_x(xmlNode *n, xmlDocSetRootElement(doc, xmlCopyNode(root, 1)); xmlDocDumpMemory(doc, &buf_out, &len_out); /* xmlDocDumpMemory 0-terminates */ - set.value = (char *) buf_out; + set.value = (const char *) buf_out; xmlFreeDoc(doc); } } @@ -263,11 +247,6 @@ int settings_read_node_x(xmlNode *n, ret_val = -1; } xmlFree(buf_out); - xmlFree(name); - xmlFree(precedence); - xmlFree(value); - xmlFree(user); - xmlFree(target); } else { @@ -276,11 +255,6 @@ int settings_read_node_x(xmlNode *n, ret_val = -1; } } - xmlFree(namea); - xmlFree(precedencea); - xmlFree(valuea); - xmlFree(usera); - xmlFree(targeta); return ret_val; }