projects
/
yaz-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Debian: do not depend on obs tcl8.3
[yaz-moved-to-github.git]
/
src
/
srwutil.c
diff --git
a/src/srwutil.c
b/src/srwutil.c
index
f7c8a2f
..
178d886
100644
(file)
--- a/
src/srwutil.c
+++ b/
src/srwutil.c
@@
-1,5
+1,5
@@
/* This file is part of the YAZ toolkit.
/* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2012 Index Data
+ * Copyright (C) 1995-2013 Index Data
* See the file LICENSE for details.
*/
/**
* See the file LICENSE for details.
*/
/**
@@
-466,8
+466,11
@@
int yaz_sru_decode(Z_HTTP_Request *hreq, Z_SRW_PDU **srw_pdu,
(*l)->next = 0;
}
else
(*l)->next = 0;
}
else
- yaz_add_srw_diagnostic(decode, diag, num_diag,
- YAZ_SRW_UNSUPP_PARAMETER, n);
+ {
+ if (*num_diag < 10)
+ yaz_add_srw_diagnostic(decode, diag, num_diag,
+ YAZ_SRW_UNSUPP_PARAMETER, n);
+ }
}
}
if (!version)
}
}
if (!version)
@@
-669,8
+672,9
@@
int yaz_sru_decode(Z_HTTP_Request *hreq, Z_SRW_PDU **srw_pdu,
YAZ_SRW_UNSUPP_OPERATION, operation);
return 0;
}
YAZ_SRW_UNSUPP_OPERATION, operation);
return 0;
}
-#endif
+#else
return 1;
return 1;
+#endif
}
return 2;
}
}
return 2;
}
@@
-1097,6
+1101,9
@@
void yaz_encode_sru_extra(Z_SRW_PDU *sr, ODR odr, const char *extra_args)
Z_SRW_extra_arg **ea = &sr->extra_args;
yaz_uri_to_array(extra_args, odr, &name, &val);
Z_SRW_extra_arg **ea = &sr->extra_args;
yaz_uri_to_array(extra_args, odr, &name, &val);
+ /** append rather than override */
+ while (*ea)
+ ea = &(*ea)->next;
while (*name)
{
*ea = (Z_SRW_extra_arg *) odr_malloc(odr, sizeof(**ea));
while (*name)
{
*ea = (Z_SRW_extra_arg *) odr_malloc(odr, sizeof(**ea));