static char cql_fields[512] = "/usr/local/share/yaz/etc/pqf.properties";
static char *esPackageName = 0;
static char *yazProxy = 0;
+static int proxy_mode = 0;
static int kilobytes = 64 * 1024;
static char *negotiationCharset = 0;
static int negotiationCharsetRecords = 1;
req->referenceId = set_refid(out);
- if (yazProxy && type_and_host)
+ if (proxy_mode && type_and_host)
{
yaz_oi_set_string_oid(&req->otherInfo, out, yaz_oid_userinfo_proxy,
1, type_and_host);
strncpy(type_and_host, arg, sizeof(type_and_host)-1);
type_and_host[sizeof(type_and_host)-1] = '\0';
- conn = cs_create_host_proxy(arg, 1, &add, yazProxy);
+ conn = cs_create_host2(arg, 1, &add, yazProxy, &proxy_mode);
if (!conn)
{
printf("Could not resolve address %s\n", arg);
const char *charset = negotiationCharset;
Z_GDU *gdu;
- gdu = z_get_HTTP_Request_uri(out, host_port, path, yazProxy ? 1 : 0);
+ gdu = z_get_HTTP_Request_uri(out, host_port, path, proxy_mode);
if (auth)
{
static int cmd_elements(const char *arg)
{
- static Z_ElementSetNames esn;
- static char what[100];
-
- if (!arg || !*arg)
+ if (elementSetNames)
{
- elementSetNames = 0;
- return 1;
+ xfree(elementSetNames->u.generic);
+ xfree(elementSetNames);
+ }
+ elementSetNames = 0;
+ if (arg && *arg)
+ {
+ elementSetNames = (Z_ElementSetNames *)
+ xmalloc(sizeof(*elementSetNames));
+ elementSetNames->which = Z_ElementSetNames_generic;
+ elementSetNames->u.generic = xstrdup(arg);
}
- strcpy(what, arg);
- esn.which = Z_ElementSetNames_generic;
- esn.u.generic = what;
- elementSetNames = &esn;
return 1;
}