X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;ds=sidebyside;f=src%2Fsession.c;h=69d05ae4fbaa0d482604e05363c8b6ae8ab54f05;hb=22ac82b6522cc7ed34f93fa8dbdcbff383d23dab;hp=5cba1d6bd92559ae171900005233aa9dff69c97c;hpb=3edc95f77dd9057ce4c08f255942fa0525835aaa;p=pazpar2-moved-to-github.git diff --git a/src/session.c b/src/session.c index 5cba1d6..69d05ae 100644 --- a/src/session.c +++ b/src/session.c @@ -883,7 +883,7 @@ void session_init_databases(struct session *se) // Probably session_init_databases_fun should be refactored instead of // called here. static struct session_database *load_session_database(struct session *se, - char *id) + const char *id) { struct database *db = new_database_inherit_settings(id, se->session_nmem, se->service->settings); session_init_databases_fun((void*) se, db); @@ -894,7 +894,7 @@ static struct session_database *load_session_database(struct session *se, // Find an existing session database. If not found, load it static struct session_database *find_session_database(struct session *se, - char *id) + const char *id) { struct session_database *sdb; @@ -905,8 +905,8 @@ static struct session_database *find_session_database(struct session *se, } // Apply a session override to a database -void session_apply_setting(struct session *se, char *dbname, char *name, - char *value) +void session_apply_setting(struct session *se, const char *dbname, + const char *name, const char *value) { session_enter(se, "session_apply_setting"); { @@ -930,12 +930,12 @@ void session_apply_setting(struct session *se, char *dbname, char *name, { s = nmem_malloc(se->session_nmem, sizeof(*s)); s->precedence = 0; - s->target = dbname; - s->name = name; + s->target = nmem_strdup(se->session_nmem, dbname); + s->name = nmem_strdup(se->session_nmem, name); s->next = sdb->settings[offset]; sdb->settings[offset] = s; } - s->value = value; + s->value = nmem_strdup(se->session_nmem, value); } session_leave(se, "session_apply_setting"); }