--- /dev/null
+/* This file is part of the YAZ toolkit.
+ * Copyright (C) 1995-2008 Index Data
+ * See the file LICENSE for details.
+ */
+
+/** \file
+ * \brief Little toy-thing to genearate an OPAC record with some values
+ */
+
+#include <ctype.h>
+#include <yaz/wrbuf.h>
+#include <yaz/marcdisp.h>
+#include <yaz/odr.h>
+
+#include "ztest.h"
+
+Z_OPACRecord *dummy_opac(int num, ODR odr, const char *marc_input)
+{
+ Z_OPACRecord *rec;
+ int i;
+ rec = odr_malloc(odr, sizeof(*rec));
+ rec->bibliographicRecord =
+ z_ext_record_usmarc(odr, marc_input, strlen(marc_input));
+ rec->num_holdingsData = 1;
+ rec->holdingsData = odr_malloc(odr, sizeof(*rec->holdingsData));
+ for (i = 0; i < rec->num_holdingsData; i++)
+ {
+ Z_HoldingsRecord *hr = odr_malloc(odr, sizeof(*hr));
+ Z_HoldingsAndCircData *hc = odr_malloc(odr, sizeof(*hc));
+
+ rec->holdingsData[i] = hr;
+ hr->which = Z_HoldingsRecord_holdingsAndCirc;
+ hr->u.holdingsAndCirc = hc;
+
+ hc->typeOfRecord = "u";
+
+ hc->encodingLevel = "u";
+
+ hc->format = 0; /* OPT */
+ hc->receiptAcqStatus = "0";
+ hc->generalRetention = 0; /* OPT */
+ hc->completeness = 0; /* OPT */
+ hc->dateOfReport = "000000";
+ hc->nucCode = "s-FM/GC";
+ hc->localLocation =
+ "Main or Science/Business Reading Rms - STORED OFFSITE";
+ hc->shelvingLocation = 0; /* OPT */
+ hc->callNumber = "MLCM 89/00602 (N)";
+ hc->shelvingData = "FT MEADE";
+ hc->copyNumber = "Copy 1";
+ hc->publicNote = 0; /* OPT */
+ hc->reproductionNote = 0; /* OPT */
+ hc->termsUseRepro = 0; /* OPT */
+ hc->enumAndChron = 0; /* OPT */
+
+ hc->num_volumes = 0;
+ hc->volumes = 0;
+
+ hc->num_circulationData = 1;
+ hc->circulationData = odr_malloc(odr,
+ sizeof(*hc->circulationData));
+ hc->circulationData[0] = odr_malloc(odr,
+ sizeof(**hc->circulationData));
+
+ hc->circulationData[0]->availableNow = odr_intdup(odr, 1);
+ hc->circulationData[0]->availablityDate = 0;
+ hc->circulationData[0]->availableThru = 0;
+ hc->circulationData[0]->restrictions = 0;
+ hc->circulationData[0]->itemId = "1226176";
+ hc->circulationData[0]->renewable = odr_intdup(odr, 0);
+ hc->circulationData[0]->onHold = odr_intdup(odr, 0);
+ hc->circulationData[0]->enumAndChron = 0;
+ hc->circulationData[0]->midspine = 0;
+ hc->circulationData[0]->temporaryLocation = 0;
+ }
+ return rec;
+}
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+
}
else if (!oid_oidcmp(oid, yaz_oid_recsyn_opac))
{
- Z_OPACRecord *rec;
- int i;
cp = dummy_marc_record(r->number, r->stream);
if (!cp)
{
r->errcode = YAZ_BIB1_PRESENT_REQUEST_OUT_OF_RANGE;
return 0;
}
- rec = odr_malloc(r->stream, sizeof(*rec));
- rec->bibliographicRecord =
- z_ext_record_usmarc(r->stream, cp, strlen(cp));
- rec->num_holdingsData = 1;
- rec->holdingsData = odr_malloc(r->stream, sizeof(*rec->holdingsData));
- for (i = 0; i < rec->num_holdingsData; i++)
- {
- Z_HoldingsRecord *hr = odr_malloc(r->stream, sizeof(*hr));
- Z_HoldingsAndCircData *hc = odr_malloc(r->stream, sizeof(*hc));
-
- rec->holdingsData[i] = hr;
- hr->which = Z_HoldingsRecord_holdingsAndCirc;
- hr->u.holdingsAndCirc = hc;
-
- hc->typeOfRecord = odr_strdup(r->stream, "x");
- hc->typeOfRecord[0] = cp[5]; /* LDR 6 */
-
- hc->encodingLevel = odr_strdup(r->stream, "x");
- hc->encodingLevel[0] = cp[16]; /* LDR 17 */
-
- hc->format = 0; /* OPT */
- hc->receiptAcqStatus = 0; /* OPT */
- hc->generalRetention = 0; /* OPT */
- hc->completeness = 0; /* OPT */
- hc->dateOfReport = 0; /* OPT */
- hc->nucCode = 0; /* OPT */
- hc->localLocation = 0; /* OPT */
- hc->shelvingLocation = 0; /* OPT */
- hc->callNumber = 0; /* OPT */
- hc->shelvingData = 0; /* OPT */
- hc->copyNumber = 0; /* OPT */
- hc->publicNote = 0; /* OPT */
- hc->reproductionNote = 0; /* OPT */
- hc->termsUseRepro = 0; /* OPT */
- hc->enumAndChron = 0; /* OPT */
-
- hc->num_volumes = 0;
- hc->volumes = 0;
-
- hc->num_circulationData = 0;
- hc->circulationData = 0;
- }
-
+ r->record = (char *) dummy_opac(r->number, r->stream, cp);
r->len = -1;
- r->record = (char*) rec;
}
else if (!oid_oidcmp(oid, yaz_oid_recsyn_sutrs))
{