From b7579b51680366f1f2be83185faf1730d49859da Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Fri, 10 Jan 2014 14:00:36 +0100 Subject: [PATCH] yaz-client uses yaz_check_location --- client/client.c | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/client/client.c b/client/client.c index 6fea730..97d8e4c 100644 --- a/client/client.c +++ b/client/client.c @@ -4654,25 +4654,11 @@ static void wait_and_handle_response(int one_response_only) && (location = z_HTTP_header_lookup(hres->headers, "Location"))) { const char *base_tmp; - - if (*location == '/') - { - char *args = 0; - char *nlocation = odr_malloc(in, strlen(location) - + strlen(cur_host) + 3); - strcpy(nlocation, cur_host); - cs_get_host_args(nlocation, (const char **) &args); - if (!args || !*args) - args = nlocation + strlen(nlocation); - else - args--; - strcpy(args, location); - location = nlocation; - } - else - { + int host_change = 0; + location = yaz_check_location(in, cur_host, + location, &host_change); + if (host_change) session_connect_base(location, &base_tmp); - } no_redirects++; if (conn) { -- 1.7.10.4