X-Git-Url: http://git.indexdata.com/?p=yazpp-moved-to-github.git;a=blobdiff_plain;f=src%2Fyaz-marc-sample.cpp;h=c83dd7466986da7a5bdaff1e7a763ffd7d8dda26;hp=9895359e4f6e3325f1481fc1f31718ef545bfee6;hb=4b3585940162cf9ca65ca4a6914c0addcde50eef;hpb=566650da59cb3b83840321e1921714dcc3d66cb7 diff --git a/src/yaz-marc-sample.cpp b/src/yaz-marc-sample.cpp index 9895359..c83dd74 100644 --- a/src/yaz-marc-sample.cpp +++ b/src/yaz-marc-sample.cpp @@ -1,13 +1,13 @@ -/* - * Copyright (c) 2000-2001, Index Data. +/* This file is part of the yazpp toolkit. + * Copyright (C) 1998-2008 Index Data and Mike Taylor * See the file LICENSE for details. - * - * $Id: yaz-marc-sample.cpp,v 1.4 2003-09-23 16:26:16 mike Exp $ */ -#include +#include + +using namespace yazpp_1; -static char *marc_records[] = { +static const char *marc_records[] = { "\x30\x30\x33\x36\x36\x6E\x61\x6D\x20\x20\x32\x32\x30\x30\x31\x36" "\x39\x38\x61\x20\x34\x35\x30\x30\x30\x30\x31\x30\x30\x31\x33\x30" "\x30\x30\x30\x30\x30\x30\x33\x30\x30\x30\x34\x30\x30\x30\x31\x33" @@ -1478,9 +1478,18 @@ static char *marc_records[] = { "\x77\x6F\x72\x6B\x2C\x20\x4E\x44\x4E\x2E\x1E\x1D" }; -const char *Yaz_USMARC::get_record(int position) +const char *Yaz_USMARC::get_record(size_t position) { - int max = sizeof(marc_records) / sizeof(*marc_records); - int eff_pos = (position-1) % max; - return marc_records[eff_pos]; + if (position >= 1 && position <= ( + sizeof(marc_records) / sizeof(*marc_records))) + return marc_records[position-1]; + return 0; } +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +