X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fsrwutil.c;h=a809dd73f2504d0219cd925b1ffc27d7abd79669;hb=e3eb1582ad4be427e5faf145d6a51fe0e29376f8;hp=5a818207e6f0f82463659a43ba1c48c8310b7c97;hpb=94d2f62cf9d0185e933e238ae36081b00e43d1a0;p=yaz-moved-to-github.git diff --git a/src/srwutil.c b/src/srwutil.c index 5a81820..a809dd7 100644 --- a/src/srwutil.c +++ b/src/srwutil.c @@ -2,7 +2,11 @@ * Copyright (c) 2002-2004, Index Data. * See the file LICENSE for details. * - * $Id: srwutil.c,v 1.14 2004-03-01 17:33:03 adam Exp $ + * $Id: srwutil.c,v 1.18 2004-10-15 00:19:01 adam Exp $ + */ +/** + * \file srwutil.c + * \brief Implements SRW/SRU utilities. */ #include @@ -98,7 +102,7 @@ char *yaz_uri_val(const char *path, const char *name, ODR o) p1 = strchr(path, '&'); if (!p1) p1 = strlen(path) + path; - ret = odr_malloc(o, p1 - path + 1); + ret = (char *) odr_malloc(o, p1 - path + 1); while (*path && *path != '&') { if (*path == '+') @@ -311,12 +315,17 @@ int yaz_sru_decode(Z_HTTP_Request *hreq, Z_SRW_PDU **srw_pdu, } } if (!version) - yaz_add_srw_diagnostic(decode, diag, num_diag, 7, "version"); - else if (version && strcmp(version, "1.1")) + { + if (uri_name) + yaz_add_srw_diagnostic(decode, diag, num_diag, 7, "version"); + version = "1.1"; + } + if (strcmp(version, "1.1")) yaz_add_srw_diagnostic(decode, diag, num_diag, 5, "1.1"); if (!operation) { - yaz_add_srw_diagnostic(decode, diag, num_diag, 7, "operation"); + if (uri_name) + yaz_add_srw_diagnostic(decode, diag, num_diag, 7, "operation"); operation = "explain"; } if (!strcmp(operation, "searchRetrieve")) @@ -460,7 +469,7 @@ int yaz_sru_decode(Z_HTTP_Request *hreq, Z_SRW_PDU **srw_pdu, Z_SRW_PDU *yaz_srw_get(ODR o, int which) { - Z_SRW_PDU *sr = odr_malloc(o, sizeof(*o)); + Z_SRW_PDU *sr = (Z_SRW_PDU *) odr_malloc(o, sizeof(*o)); sr->srw_version = odr_strdup(o, "1.1"); sr->which = which; @@ -552,7 +561,7 @@ static struct { {12, "Too many characters in query"}, {13, "Invalid or unsupported use of parentheses"}, {14, "Invalid or unsupported use of quotes"}, -{15, "Unsupported context context set"}, +{15, "Unsupported context set"}, {16, "Unsupported index"}, {17, "Unsupported combination of index and context set"}, {18, "Unsupported combination of indexes"},