X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fsrw.c;h=f0dd1421741309cb783cd69311763f55c99068b4;hb=79aa866d87464ecd3fc451668017c0fa1adb2776;hp=68d20564cff1eb01538cededf20a768903bad2da;hpb=c74ab70e2005c25e517e68274cf7bb3fd9b53e34;p=yaz-moved-to-github.git diff --git a/src/srw.c b/src/srw.c index 68d2056..f0dd142 100644 --- a/src/srw.c +++ b/src/srw.c @@ -2,7 +2,7 @@ * Copyright (C) 1995-2005, Index Data ApS * See the file LICENSE for details. * - * $Id: srw.c,v 1.39 2005-11-11 22:06:46 adam Exp $ + * $Id: srw.c,v 1.41 2005-11-28 13:21:38 adam Exp $ */ /** * \file srw.c @@ -291,8 +291,6 @@ static int yaz_srw_record(ODR o, xmlNodePtr pptr, Z_SRW_record *rec, match_xsd_string_n(data_ptr, "recordData", o, &rec->recordData_buf, &rec->recordData_len); break; - default: - /* need some way to signal diagnostic here */ } } rec->recordPacking = pack; @@ -323,7 +321,7 @@ static int yaz_srw_record(ODR o, xmlNodePtr pptr, Z_SRW_record *rec, } if (rec->recordPosition) add_xsd_integer(ptr, "recordPosition", rec->recordPosition ); - if (*extra) + if (extra && *extra) { xmlNodePtr rptr = xmlNewChild(ptr, 0, BAD_CAST "extraRecordData", 0); @@ -369,7 +367,8 @@ static int yaz_srw_records(ODR o, xmlNodePtr pptr, Z_SRW_record **recs, { xmlNodePtr rptr = xmlNewChild(pptr, 0, BAD_CAST "record", 0); - yaz_srw_record(o, rptr, (*recs)+i, *extra + i, client_data, ns); + yaz_srw_record(o, rptr, (*recs)+i, (*extra ? *extra + i : 0), + client_data, ns); } } return 0;