X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;f=src%2Fsession.c;h=d81679f9b9e9b6e8ff9ef704a3103d31df408cd3;hb=09cd372980c24452ffd9d7a7660d9580f91884e8;hp=f760ca5ccadd037ff8fd9a0de1ad91dd888a2675;hpb=46b0ea81d4f9b9732dfc139a86342ce36c6038c8;p=pazpar2-moved-to-github.git diff --git a/src/session.c b/src/session.c index f760ca5..d81679f 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"); }