X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=server%2Fseshigh.c;h=60ad9caaef1a112de06b08f4245a2719afbbe497;hb=ee91cff35d9150fe522c72b903680ccc49bd75ba;hp=8b4edb8c9a122243e5783a0125ce1a6facae4a8e;hpb=86927dcf1fb5dbd4d30f2d906ff5ceba7319f142;p=yaz-moved-to-github.git diff --git a/server/seshigh.c b/server/seshigh.c index 8b4edb8..60ad9ca 100644 --- a/server/seshigh.c +++ b/server/seshigh.c @@ -4,7 +4,17 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: seshigh.c,v $ - * Revision 1.26 1995-05-18 13:02:12 quinn + * Revision 1.29 1995-06-01 11:25:03 quinn + * Smallish. + * + * Revision 1.28 1995/06/01 11:21:01 quinn + * Attempting to fix a bug in pack-records. replaced break with continue + * for large records, according to standard. + * + * Revision 1.27 1995/05/29 08:12:06 quinn + * Moved oid to util + * + * Revision 1.26 1995/05/18 13:02:12 quinn * Smallish. * * Revision 1.25 1995/05/17 08:42:26 quinn @@ -211,10 +221,7 @@ association *create_association(IOCHAN channel, COMSTACK link) new->rejected = 0; request_initq(&new->incoming); request_initq(&new->outgoing); - if (cs_getproto(link) == CS_Z3950) - new->proto = PROTO_Z3950; - else - new->proto = PROTO_SR; + new->proto = cs_getproto(link); return new; } @@ -544,9 +551,7 @@ static Z_APDU *process_initRequest(association *assoc, request *reqb) resp.preferredMessageSize = &assoc->preferredMessageSize; resp.maximumRecordSize = &assoc->maximumRecordSize; resp.result = &result; - resp.implementationId = "YAZ"; resp.implementationName = "Index Data/YAZ Generic Frontend Server"; - resp.implementationVersion = YAZ_VERSION; resp.userInformationField = 0; if (binitres->errcode) { @@ -714,8 +719,8 @@ static Z_Records *pack_records(association *a, char *setname, int start, reclist.records[reclist.num_records] = surrogatediagrec(a->proto, fres->basename, 16, 0); reclist.num_records++; - *pres = Z_PRES_PARTIAL_2; - break; + total_length += 10; /* totally arbitrary */ + continue; } } else /* too big entirely */ @@ -724,8 +729,8 @@ static Z_Records *pack_records(association *a, char *setname, int start, reclist.records[reclist.num_records] = surrogatediagrec(a->proto, fres->basename, 17, 0); reclist.num_records++; - *pres = Z_PRES_PARTIAL_2; - break; + total_length += 10; /* totally arbitrary */ + continue; } } if (!(thisrec = odr_malloc(a->encode, sizeof(*thisrec)))) @@ -753,9 +758,9 @@ static Z_Records *pack_records(association *a, char *setname, int start, reclist.records[reclist.num_records] = thisrec; reclist.num_records++; total_length += fres->len; - (*num)++; *next = fres->last_in_set ? 0 : recno + 1; } + *num = reclist.num_records; return &records; }