* Copyright (C) 1995-2005, Index Data ApS
* See the file LICENSE for details.
*
- * $Id: client.c,v 1.286 2005-06-08 09:11:03 adam Exp $
+ * $Id: client.c,v 1.287 2005-06-08 12:34:05 adam Exp $
*/
#include <stdio.h>
static char *record_schema = 0;
static int sent_close = 0;
static NMEM session_mem = NULL; /* memory handle for init-response */
-static Z_InitResponse *session = 0; /* session parameters */
+static Z_InitResponse *session_initResponse = 0; /* session parameters */
static char last_scan_line[512] = "0";
static char last_scan_query[512] = "0";
static char ccl_fields[512] = "default.bib";
int ver = 0;
/* save session parameters for later use */
session_mem = odr_extract_mem(in);
- session = res;
+ session_initResponse = res;
for (ver = 0; ver < 8; ver++)
if (!ODR_MASK_GET(res->protocolVersion, ver))
if (conn)
{
cs_close (conn);
- conn = NULL;
- if (session_mem)
- {
- nmem_destroy (session_mem);
- session_mem = NULL;
- }
+ conn = 0;
}
+ if (session_mem)
+ {
+ nmem_destroy (session_mem);
+ session_mem = NULL;
+ session_initResponse = 0;
+ }
cs_get_host_args(arg, &basep);
strncpy(type_and_host, arg, sizeof(type_and_host)-1);
if (conn)
cs_close (conn);
conn = 0;
- if (session_mem)
- {
- nmem_destroy (session_mem);
- session_mem = NULL;
- }
sent_close = 0;
odr_reset(out);
odr_reset(in);
}
if (only_z3950())
return 0;
- if (!ODR_MASK_GET(session->options, Z_Options_triggerResourceCtrl))
+ if (session_initResponse &&
+ !ODR_MASK_GET(session_initResponse->options,
+ Z_Options_triggerResourceCtrl))
{
printf("Target doesn't support cancel (trigger resource ctrl)\n");
return 0;
}
if (only_z3950())
return 0;
- if (!ODR_MASK_GET(session->options, Z_Options_sort))
+ if (session_initResponse &&
+ !ODR_MASK_GET(session_initResponse->options, Z_Options_sort))
{
printf("Target doesn't support sort\n");
return 0;
return 0;
}
}
- if (!ODR_MASK_GET(session->options, Z_Options_scan))
+ if (session_initResponse &&
+ !ODR_MASK_GET(session_initResponse->options, Z_Options_scan))
{
printf("Target doesn't support scan\n");
return 0;