X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fseshigh.c;h=2d025420c634e8e158c7479cc31d81ed4c526176;hb=e2ee7361cc2ac8d8d00bbf4e74c46a77ccef1911;hp=44d6619001283a2fc22244cc12c73b0609e7498f;hpb=92e360a6e22fc5fda22d7f6a6449c3c8f0ee8fb9;p=yaz-moved-to-github.git diff --git a/src/seshigh.c b/src/seshigh.c index 44d6619..2d02542 100644 --- a/src/seshigh.c +++ b/src/seshigh.c @@ -2088,7 +2088,7 @@ static int process_gdu_response(association *assoc, request *req, Z_GDU *res) */ static int process_z_response(association *assoc, request *req, Z_APDU *res) { - Z_GDU *gres = (Z_GDU *) odr_malloc(assoc->encode, sizeof(*res)); + Z_GDU *gres = (Z_GDU *) odr_malloc(assoc->encode, sizeof(*gres)); gres->which = Z_GDU_Z3950; gres->u.z3950 = res; @@ -2518,6 +2518,8 @@ static Z_Records *pack_records(association *a, char *setname, Odr_int start, { yaz_log(log_requestdetail, " Dropped last normal-sized record"); *pres = Z_PresentStatus_partial_2; + if (*next > 0) + (*next)--; break; } /* record can only be fetched by itself */ @@ -2528,7 +2530,9 @@ static Z_Records *pack_records(association *a, char *setname, Odr_int start, { yaz_log(YLOG_DEBUG, " Dropped it"); reclist->records[reclist->num_records] = - surrogatediagrec(a, freq.basename, 16, 0); + surrogatediagrec( + a, freq.basename, + YAZ_BIB1_RECORD_EXCEEDS_PREFERRED_MESSAGE_SIZE, 0); reclist->num_records++; dumped_records += this_length; continue; @@ -2540,7 +2544,9 @@ static Z_Records *pack_records(association *a, char *setname, Odr_int start, "this=%d max=%d", this_length, a->maximumRecordSize); reclist->records[reclist->num_records] = - surrogatediagrec(a, freq.basename, 17, 0); + surrogatediagrec( + a, freq.basename, + YAZ_BIB1_RECORD_EXCEEDS_MAXIMUM_RECORD_SIZE, 0); reclist->num_records++; dumped_records += this_length; continue;