X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=ztest%2Fread-marc.c;h=7a54ddf3bedeae6a199b1d88017b34a0c061b166;hp=487d9abe108f9b2a51ab4458dd370d4df34f4af0;hb=cca8a96be6d6ce6de52009e53e23876ce2fc195c;hpb=2a7d35ce3d1bad977c9cf4f8d586e3699b4d20b3 diff --git a/ztest/read-marc.c b/ztest/read-marc.c index 487d9ab..7a54ddf 100644 --- a/ztest/read-marc.c +++ b/ztest/read-marc.c @@ -15,6 +15,20 @@ #include "ztest.h" +#if HAVE_SYS_TYPES_H +#include +#endif +#if HAVE_SYS_STAT_H +#include +#endif +#ifdef WIN32 +#include +#endif + +#if HAVE_UNISTD_H +#include +#endif + #define NO_MARC_RECORDS 24 char *marc_records[NO_MARC_RECORDS] = { @@ -1680,6 +1694,28 @@ char *dummy_xml_record(int num, ODR odr, const char *esn) return rec; } } + else + { + char *buf = 0; + const char *e = getenv("YAZ_ZTEST_XML_FETCH"); + if (e) + { + WRBUF w = wrbuf_alloc(); + struct stat sbuf; + FILE *file = 0; + + wrbuf_printf(w, "%s%s.%d.xml", e, esn, num); + if (stat(wrbuf_cstr(w), &sbuf) == 0 && + (file = fopen(wrbuf_cstr(w), "rb"))) + { + buf = odr_malloc(odr, sbuf.st_size); + fread(buf, 1, sbuf.st_size, file); + } + if (file) + fclose(file); + } + return buf; + } return 0; }