X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;f=src%2Fsession.c;h=17647d671d49f7faaf94ccdf53b7bf42f1800721;hb=15e9827798d09d1afda3304d021bf464fb997624;hp=d965d753eb112e0463e652e4672c16a36bc0adc6;hpb=817e3ec506c4095bc4fcc1923cee36153ef4ee43;p=pazpar2-moved-to-github.git diff --git a/src/session.c b/src/session.c index d965d75..17647d6 100644 --- a/src/session.c +++ b/src/session.c @@ -508,7 +508,6 @@ static void select_targets_callback(struct session *se, l->next = se->clients_cached; se->clients_cached = l; } - /* set session always. If may be 0 if client is not active */ client_set_session(cl, se); l = xmalloc(sizeof(*l)); @@ -557,6 +556,7 @@ static void session_remove_cached_clients(struct session *se) client_lock(l->client); client_set_session(l->client, 0); client_set_database(l->client, 0); + client_mark_dead(l->client); client_unlock(l->client); client_destroy(l->client); xfree(l); @@ -1459,8 +1459,11 @@ static struct record_metadata *record_metadata_init( { case Metadata_type_generic: case Metadata_type_skiparticle: - rec_md->data.text.disp = - normalize7bit_generic(nmem_strdup(nmem, value), " ,/.:(["); + if (strstr(value, "://")) /* looks like a URL */ + rec_md->data.text.disp = nmem_strdup(nmem, value); + else + rec_md->data.text.disp = + normalize7bit_generic(nmem_strdup(nmem, value), " ,/.:(["); rec_md->data.text.sort = 0; rec_md->data.text.snippet = 0; break;