/* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2013 Index Data
+ * Copyright (C) Index Data
* See the file LICENSE for details.
*/
/**
return dst;
}
-Z_AttributeList *yaz_use_attribute_create(ODR o, const char *name)
-{
- Z_AttributeList *attributes= (Z_AttributeList *)
- odr_malloc(o, sizeof(*attributes));
- Z_AttributeElement ** elements;
- attributes->num_attributes = 1;
- elements = (Z_AttributeElement**)
- odr_malloc(o, attributes->num_attributes * sizeof(*elements));
- elements[0] = (Z_AttributeElement*) odr_malloc(o,sizeof(**elements));
- elements[0]->attributeType = odr_intdup(o, 1);
- elements[0]->attributeSet = odr_nullval();
- elements[0]->which = Z_AttributeValue_complex;
- elements[0]->value.complex = (Z_ComplexAttribute *)
- odr_malloc(o, sizeof(Z_ComplexAttribute));
- elements[0]->value.complex->num_list = 1;
- elements[0]->value.complex->list = (Z_StringOrNumeric **)
- odr_malloc(o, 1 * sizeof(Z_StringOrNumeric *));
- elements[0]->value.complex->list[0] = (Z_StringOrNumeric *)
- odr_malloc(o, sizeof(Z_StringOrNumeric));
- elements[0]->value.complex->list[0]->which = Z_StringOrNumeric_string;
- elements[0]->value.complex->list[0]->u.string = odr_strdup(o, name);
- elements[0]->value.complex->semanticAction = 0;
- elements[0]->value.complex->num_semanticAction = 0;
- attributes->attributes = elements;
- return attributes;
-}
-
#if YAZ_HAVE_XML2
const char *yaz_element_attribute_value_get(xmlNodePtr ptr,
const char *node_name,
*charset = odr_strdup(o, charset_p);
while (charset_p[i] && charset_p[i] != sep)
{
+ if (!sep && strchr("; \n\r", charset_p[i]))
+ break;
if (charset_p[i] == '\\' && charset_p[i+1])
i++;
(*charset)[j++] = charset_p[i++];
char *name[MAX_SRU_PARAMETERS], *value[MAX_SRU_PARAMETERS]; /* definite upper limit for SRU params */
char *uri_args;
char *path;
+ char *cp;
z_HTTP_header_add_basic_auth(encode, &hreq->headers,
srw_pdu->username, srw_pdu->password);
hreq->method = "GET";
+ cp = strchr(hreq->path, '#');
+ if (cp)
+ *cp = '\0';
+
path = (char *)
odr_malloc(encode, strlen(hreq->path) + strlen(uri_args) + 4);
- sprintf(path, "%s?%s", hreq->path, uri_args);
+ sprintf(path, "%s%c%s", hreq->path, strchr(hreq->path, '?') ? '&' : '?',
+ uri_args);
hreq->path = path;
z_HTTP_header_add_content_type(encode, &hreq->headers,