querystr = srw_req->query.pqf;
break;
}
- wrbuf_printf(wr, "SRWSearch ");
- wrbuf_printf(wr, srw_req->database);
- wrbuf_printf(wr, " ");
+ wrbuf_printf(wr, "SRWSearch %s ", srw_req->database);
if (srw_res->num_diagnostics)
wrbuf_printf(wr, "ERROR %s", srw_res->diagnostics[0].uri);
else if (*http_code != 200)
querystr = "";
}
- wrbuf_printf(wr, "SRWScan ");
- wrbuf_printf(wr, srw_req->database);
- wrbuf_printf(wr, " ");
+ wrbuf_printf(wr, "SRWScan %s ", srw_req->database);
if (srw_res->num_diagnostics)
wrbuf_printf(wr, "ERROR %s - ", srw_res->diagnostics[0].uri);
return 1;
}
-static char *read_file(const char *fname, ODR o, int *sz)
+static char *read_file(const char *fname, ODR o, size_t *sz)
{
char *buf;
FILE *inf = fopen(fname, "rb");
*sz = ftell(inf);
rewind(inf);
buf = (char *) odr_malloc(o, *sz);
- fread(buf, 1, *sz, inf);
+ if (fread(buf, 1, *sz, inf) != *sz)
+ yaz_log(YLOG_WARN|YLOG_ERRNO, "short read %s", fname);
fclose(inf);
return buf;
}
Z_APDU *apdu = zget_APDU(assoc->encode, Z_APDU_initResponse);
Z_InitResponse *resp = apdu->u.initResponse;
bend_initresult *binitres;
- char *version;
char options[140];
statserv_options_block *cb = 0; /* by default no control for backend */
assoc->init->implementation_name,
odr_prepend(assoc->encode, "GFS", resp->implementationName));
- version = odr_strdup(assoc->encode, "$Revision: 1.128 $");
- if (strlen(version) > 10) /* check for unexpanded CVS strings */
- version[strlen(version)-2] = '\0';
- resp->implementationVersion = odr_prepend(assoc->encode,
- assoc->init->implementation_version,
- odr_prepend(assoc->encode, &version[11],
- resp->implementationVersion));
-
if (binitres->errcode)
{
assoc->state = ASSOC_DEAD;
for (i = 0 ; i < req->num_databaseNames; i++){
if (i)
wrbuf_printf(wr, "+");
- wrbuf_printf(wr, req->databaseNames[i]);
+ wrbuf_puts(wr, req->databaseNames[i]);
}
wrbuf_printf(wr, " ");
{
if (i)
wrbuf_printf(wr, "+");
- wrbuf_printf(wr, req->databaseNames[i]);
+ wrbuf_puts(wr, req->databaseNames[i]);
}
wrbuf_printf(wr, " ");
{
if (i)
wrbuf_printf(wr, "+");
- wrbuf_printf(wr, req->inputResultSetNames[i]);
+ wrbuf_puts(wr, req->inputResultSetNames[i]);
}
wrbuf_printf(wr, ")->%s ",req->sortedResultSetName);