* Copyright (C) 1995-2007, Index Data ApS
* See the file LICENSE for details.
*
- * $Id: client.c,v 1.334 2007-04-16 21:53:08 adam Exp $
+ * $Id: client.c,v 1.337 2007-05-06 20:12:19 adam Exp $
*/
/** \file client.c
* \brief yaz-client program
#define AVOID_MARC_DECODE 1
#define maxOtherInfosSupported 10
-struct {
+struct eoi {
int oid[OID_SIZE];
char* value;
} extraOtherInfos[maxOtherInfosSupported];
yaz_oi_APDU(apdu, &p);
- if ((p0=yaz_oi_update(p, out, NULL, 0, 0))) {
+ if ((p0=yaz_oi_update(p, out, NULL, 0, 0)))
+ {
ODR_MASK_SET(req->options, Z_Options_negotiationModel);
p0->which = Z_OtherInfo_externallyDefinedInfo;
negotiationCharsetRecords);
}
}
-
if (send_apdu(apdu))
printf("Sent initrequest.\n");
}
Z_CharSetandLanguageNegotiation *p =
yaz_get_charneg_record(res->otherInfo);
-
+
if (p) {
char *charset=NULL, *lang=NULL;
yaz_get_response_charneg(session_mem, p, &charset, &lang,
&selected);
+ printf("Accepted character set : %s\n", charset);
+ printf("Accepted code language : %s\n", lang ? lang : "none");
+ printf("Accepted records in ...: %d\n", selected );
+
if (outputCharset && negotiationCharset) {
- odr_set_charset (out, charset, outputCharset);
- odr_set_charset (in, outputCharset, charset);
+ printf("Converting between %s and %s\n",
+ outputCharset, negotiationCharset);
+ odr_set_charset (out, charset, outputCharset);
+ odr_set_charset (in, outputCharset, charset);
}
else {
- odr_set_charset (out, 0, 0);
- odr_set_charset (in, 0, 0);
+ odr_set_charset (out, 0, 0);
+ odr_set_charset (in, 0, 0);
}
-
- printf("Accepted character set : %s\n", charset);
- printf("Accepted code language : %s\n", lang ? lang : "none");
- printf("Accepted records in ...: %d\n", selected );
}
}
fflush (stdout);
return 0;
}
*len = fsize;
- *buf = odr_malloc(out, fsize);
+ *buf = (char *) odr_malloc(out, fsize);
if (fread(*buf, 1, fsize, inf) != fsize)
{
printf("Unable to read %s\n", fname);
Z_GDU *gdu;
char *path = 0;
- path = odr_malloc(out, 2+strlen(databaseNames[0]));
+ path = (char *) odr_malloc(out, 2+strlen(databaseNames[0]));
*path = '/';
strcpy(path+1, databaseNames[0]);
record_this = record_last;
}
- req->packageType =
- yaz_string_to_oid_odr(yaz_oid_std(),
- CLASS_EXTSERV,
- version == 0 ? "DB. Update (first version)" :
- "DB. Update", out);
+ req->packageType = odr_oiddup(out, (version == 0 ?
+ yaz_oid_extserv_database_update_first_version :
+ yaz_oid_extserv_database_update));
+
req->packageName = esPackageName;
req->referenceId = set_refid (out);
/* If this fails, no problem: we detect cqltrans == 0 later */
#if HAVE_READLINE_READLINE_H
- rl_attempted_completion_function = (CPPFunction*)readline_completer;
+ rl_attempted_completion_function =
+ (char **(*)(const char *, int, int)) readline_completer;
#endif
for(i = 0; i < maxOtherInfosSupported; ++i) {
extraOtherInfos[i].oid[0] = -1;
soap_handlers);
if (!ret && soap_package->which == Z_SOAP_generic)
{
- Z_SRW_PDU *sr = soap_package->u.generic->p;
+ Z_SRW_PDU *sr = (Z_SRW_PDU *) soap_package->u.generic->p;
if (sr->which == Z_SRW_searchRetrieve_response)
handle_srw_response(sr->u.response);
else if (sr->which == Z_SRW_explain_response)
ODR_MASK_SET(&z3950_options, Z_Options_sort);
ODR_MASK_SET(&z3950_options, Z_Options_extendedServices);
ODR_MASK_SET(&z3950_options, Z_Options_delSet);
+ ODR_MASK_SET(&z3950_options, Z_Options_negotiationModel);
while ((ret = options("k:c:q:a:b:m:v:p:u:t:Vxd:", argv, argc, &arg)) != -2)
{