projects
/
yaz-moved-to-github.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f5f832b
)
Do not mess with databaseName for HTTP redirect
author
Adam Dickmeiss
<adam@indexdata.dk>
Mon, 22 Mar 2010 11:57:00 +0000
(12:57 +0100)
committer
Adam Dickmeiss
<adam@indexdata.dk>
Mon, 22 Mar 2010 11:57:00 +0000
(12:57 +0100)
client/client.c
patch
|
blob
|
history
diff --git
a/client/client.c
b/client/client.c
index
45eb69d
..
3c68c58
100644
(file)
--- a/
client/client.c
+++ b/
client/client.c
@@
-666,11
+666,10
@@
static int cmd_base(const char *arg)
return set_base(arg);
}
return set_base(arg);
}
-int session_connect(const char *arg)
+static int session_connect_base(const char *arg, const char **basep)
{
void *add;
char type_and_host[101];
{
void *add;
char type_and_host[101];
- const char *basep = 0;
if (conn)
{
cs_close(conn);
if (conn)
{
cs_close(conn);
@@
-682,7
+681,7
@@
int session_connect(const char *arg)
session_mem = NULL;
session_initResponse = 0;
}
session_mem = NULL;
session_initResponse = 0;
}
- cs_get_host_args(arg, &basep);
+ cs_get_host_args(arg, basep);
strncpy(type_and_host, arg, sizeof(type_and_host)-1);
type_and_host[sizeof(type_and_host)-1] = '\0';
strncpy(type_and_host, arg, sizeof(type_and_host)-1);
type_and_host[sizeof(type_and_host)-1] = '\0';
@@
-718,11
+717,6
@@
int session_connect(const char *arg)
}
printf("OK.\n");
cs_print_session_info(conn);
}
printf("OK.\n");
cs_print_session_info(conn);
- if (basep && *basep)
- set_base(basep);
- else if (protocol == PROTO_Z3950)
- set_base("Default");
-
if (protocol == PROTO_Z3950)
{
send_initRequest(type_and_host);
if (protocol == PROTO_Z3950)
{
send_initRequest(type_and_host);
@@
-731,6
+725,19
@@
int session_connect(const char *arg)
return 0;
}
return 0;
}
+static int session_connect(const char *arg)
+{
+ int r;
+ const char *basep = 0;
+
+ r = session_connect_base(arg, &basep);
+ if (basep && *basep)
+ set_base(basep);
+ else if (protocol == PROTO_Z3950)
+ set_base("Default");
+ return r;
+}
+
int cmd_open(const char *arg)
{
int r;
int cmd_open(const char *arg)
{
int r;
@@
-4422,7
+4429,8
@@
static void wait_and_handle_response(int one_response_only)
&& !yaz_matchstr(sru_method, "get")
&& (location = z_HTTP_header_lookup(hres->headers, "Location")))
{
&& !yaz_matchstr(sru_method, "get")
&& (location = z_HTTP_header_lookup(hres->headers, "Location")))
{
- session_connect(location);
+ const char *base_tmp;
+ session_connect_base(location, &base_tmp);
no_redirects++;
if (conn)
{
no_redirects++;
if (conn)
{