X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=server%2Fseshigh.c;h=e69a42d7a0f0bbedbfea18f467dc67584d30f42d;hp=987f84c410940e024acb5a0bfd2af53ba6967a68;hb=044d170f0a963555486df54653cd2fdc5815928b;hpb=6565e283922168b7a1284d0c4164f94c833f6301 diff --git a/server/seshigh.c b/server/seshigh.c index 987f84c..e69a42d 100644 --- a/server/seshigh.c +++ b/server/seshigh.c @@ -4,7 +4,10 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: seshigh.c,v $ - * Revision 1.71 1998-02-10 11:03:57 adam + * Revision 1.72 1998-02-11 11:53:35 adam + * Changed code so that it compiles as C++. + * + * Revision 1.71 1998/02/10 11:03:57 adam * Added support for extended handlers in backend server interface. * * Revision 1.70 1998/01/29 13:15:35 adam @@ -302,7 +305,7 @@ association *create_association(IOCHAN channel, COMSTACK link) if (!control_block) control_block = statserv_getcontrol(); - if (!(anew = xmalloc(sizeof(*anew)))) + if (!(anew = (association *)xmalloc(sizeof(*anew)))) return 0; anew->client_chan = channel; anew->client_link = link; @@ -418,7 +421,7 @@ static void do_close(association *a, int reason, char *message) void ir_session(IOCHAN h, int event) { int res; - association *assoc = iochan_getdata(h); + association *assoc = (association *)iochan_getdata(h); COMSTACK conn = assoc->client_link; request *req; @@ -602,7 +605,7 @@ static int process_request(association *assoc, request *req) */ void backend_response(IOCHAN i, int event) { - association *assoc = iochan_getdata(i); + association *assoc = (association *)iochan_getdata(i); request *req = request_head(&assoc->incoming); Z_APDU *res; int fd; @@ -713,12 +716,12 @@ static Z_APDU *process_initRequest(association *assoc, request *reqb) } assoc->backend = binitres->handle; - if ((assoc->bend_sort = binitreq.bend_sort)) + if ((assoc->bend_sort = (int (*)())binitreq.bend_sort)) logf (LOG_DEBUG, "Sort handler installed"); - if ((assoc->bend_search = binitreq.bend_search)) + if ((assoc->bend_search = (int (*)())binitreq.bend_search)) logf (LOG_DEBUG, "Search handler installed"); - if ((assoc->bend_present = binitreq.bend_present)) - logf (LOG_DEBUG, "Present handler installed"); + if ((assoc->bend_present = (int (*)())binitreq.bend_present)) + logf (LOG_DEBUG, "Present handler installed"); resp->referenceId = req->referenceId; *options = '\0'; /* let's tell the client what we can do */ @@ -805,11 +808,11 @@ static Z_APDU *process_initRequest(association *assoc, request *reqb) static Z_Records *diagrec(association *assoc, int error, char *addinfo) { int oid[OID_SIZE]; - Z_Records *rec = odr_malloc (assoc->encode, sizeof(*rec)); + Z_Records *rec = (Z_Records *)odr_malloc (assoc->encode, sizeof(*rec)); oident bib1; - int *err = odr_malloc (assoc->encode, sizeof(*err)); - Z_DiagRec *drec = odr_malloc (assoc->encode, sizeof(*drec)); - Z_DefaultDiagFormat *dr = odr_malloc (assoc->encode, sizeof(*dr)); + int *err = (int *)odr_malloc (assoc->encode, sizeof(*err)); + Z_DiagRec *drec = (Z_DiagRec *)odr_malloc (assoc->encode, sizeof(*drec)); + Z_DefaultDiagFormat *dr = (Z_DefaultDiagFormat *)odr_malloc (assoc->encode, sizeof(*dr)); bib1.proto = assoc->proto; bib1.oclass = CLASS_DIAGSET; @@ -841,11 +844,11 @@ static Z_NamePlusRecord *surrogatediagrec(association *assoc, char *dbname, int error, char *addinfo) { int oid[OID_SIZE]; - Z_NamePlusRecord *rec = odr_malloc (assoc->encode, sizeof(*rec)); - int *err = odr_malloc (assoc->encode, sizeof(*err)); + Z_NamePlusRecord *rec = (Z_NamePlusRecord *)odr_malloc (assoc->encode, sizeof(*rec)); + int *err = (int *)odr_malloc (assoc->encode, sizeof(*err)); oident bib1; - Z_DiagRec *drec = odr_malloc (assoc->encode, sizeof(*drec)); - Z_DefaultDiagFormat *dr = odr_malloc (assoc->encode, sizeof(*dr)); + Z_DiagRec *drec = (Z_DiagRec *)odr_malloc (assoc->encode, sizeof(*drec)); + Z_DefaultDiagFormat *dr = (Z_DefaultDiagFormat *)odr_malloc (assoc->encode, sizeof(*dr)); bib1.proto = assoc->proto; bib1.oclass = CLASS_DIAGSET; @@ -872,12 +875,12 @@ static Z_NamePlusRecord *surrogatediagrec(association *assoc, char *dbname, static Z_DiagRecs *diagrecs(association *assoc, int error, char *addinfo) { int oid[OID_SIZE]; - Z_DiagRecs *recs = odr_malloc (assoc->encode, sizeof(*recs)); - int *err = odr_malloc (assoc->encode, sizeof(*err)); + Z_DiagRecs *recs = (Z_DiagRecs *)odr_malloc (assoc->encode, sizeof(*recs)); + int *err = (int *)odr_malloc (assoc->encode, sizeof(*err)); oident bib1; - Z_DiagRec **recp = odr_malloc (assoc->encode, sizeof(*recp)); - Z_DiagRec *drec = odr_malloc (assoc->encode, sizeof(*drec)); - Z_DefaultDiagFormat *rec = odr_malloc (assoc->encode, sizeof(*rec)); + Z_DiagRec **recp = (Z_DiagRec **)odr_malloc (assoc->encode, sizeof(*recp)); + Z_DiagRec *drec = (Z_DiagRec *)odr_malloc (assoc->encode, sizeof(*drec)); + Z_DefaultDiagFormat *rec = (Z_DefaultDiagFormat *)odr_malloc (assoc->encode, sizeof(*rec)); logf(LOG_DEBUG, "DiagRecs: %d -- %s", error, addinfo); bib1.proto = assoc->proto; @@ -905,9 +908,9 @@ static Z_Records *pack_records(association *a, char *setname, int start, { int oid[OID_SIZE]; int recno, total_length = 0, toget = *num, dumped_records = 0; - Z_Records *records = odr_malloc (a->encode, sizeof(*records)); - Z_NamePlusRecordList *reclist = odr_malloc (a->encode, sizeof(*reclist)); - Z_NamePlusRecord **list = odr_malloc (a->encode, sizeof(*list) * toget); + Z_Records *records = (Z_Records *)odr_malloc (a->encode, sizeof(*records)); + Z_NamePlusRecordList *reclist = (Z_NamePlusRecordList *)odr_malloc (a->encode, sizeof(*reclist)); + Z_NamePlusRecord **list = (Z_NamePlusRecord **)odr_malloc (a->encode, sizeof(*list) * toget); oident recform; records->which = Z_Records_DBOSD; @@ -993,14 +996,14 @@ static Z_Records *pack_records(association *a, char *setname, int start, continue; } } - if (!(thisrec = odr_malloc(a->encode, sizeof(*thisrec)))) + if (!(thisrec = (Z_NamePlusRecord *)odr_malloc(a->encode, sizeof(*thisrec)))) return 0; - if (!(thisrec->databaseName = odr_malloc(a->encode, + if (!(thisrec->databaseName = (char *)odr_malloc(a->encode, strlen(fres->basename) + 1))) return 0; strcpy(thisrec->databaseName, fres->basename); thisrec->which = Z_NamePlusRecord_databaseRecord; - if (!(thisrec->u.databaseRecord = thisext = odr_malloc(a->encode, + if (!(thisrec->u.databaseRecord = thisext = (Z_External *)odr_malloc(a->encode, sizeof(Z_DatabaseRecord)))) return 0; recform.proto = a->proto; @@ -1036,21 +1039,21 @@ static Z_Records *pack_records(association *a, char *setname, int start, } else if (fres->format == VAL_SUTRS) /* SUTRS is a single-ASN.1-type */ { - Odr_oct *sutrs = odr_malloc(a->encode, sizeof(*sutrs)); + Odr_oct *sutrs = (Odr_oct *)odr_malloc(a->encode, sizeof(*sutrs)); thisext->which = Z_External_sutrs; thisext->u.sutrs = sutrs; - sutrs->buf = odr_malloc(a->encode, fres->len); + sutrs->buf = (unsigned char *)odr_malloc(a->encode, fres->len); sutrs->len = sutrs->size = fres->len; memcpy(sutrs->buf, fres->record, fres->len); } else /* octet-aligned record. */ { thisext->which = Z_External_octet; - if (!(thisext->u.octet_aligned = odr_malloc(a->encode, + if (!(thisext->u.octet_aligned = (Odr_oct *)odr_malloc(a->encode, sizeof(Odr_oct)))) return 0; - if (!(thisext->u.octet_aligned->buf = odr_malloc(a->encode, + if (!(thisext->u.octet_aligned->buf = (unsigned char *)odr_malloc(a->encode, fres->len))) return 0; memcpy(thisext->u.octet_aligned->buf, fres->record, fres->len); @@ -1069,10 +1072,9 @@ static Z_APDU *process_searchRequest(association *assoc, request *reqb, int *fd) { Z_SearchRequest *req = reqb->request->u.searchRequest; - bend_search_rr *bsrr = nmem_malloc (reqb->request_mem, sizeof(*bsrr)); + bend_search_rr *bsrr = (bend_search_rr *)nmem_malloc (reqb->request_mem, sizeof(*bsrr)); logf(LOG_LOG, "Got SearchRequest."); - save_referenceId (reqb, req->referenceId); /* store ref id in request */ bsrr->fd = fd; @@ -1089,7 +1091,7 @@ static Z_APDU *process_searchRequest(association *assoc, request *reqb, bsrr->errcode = 0; bsrr->hits = 0; bsrr->errstring = NULL; - (*assoc->bend_search)(assoc->backend, bsrr); + ((int (*)(void *, bend_search_rr *))(assoc->bend_search))(assoc->backend, bsrr); if (!bsrr->request) return 0; } @@ -1126,12 +1128,12 @@ static Z_APDU *response_searchRequest(association *assoc, request *reqb, bend_search_rr *bsrt, int *fd) { Z_SearchRequest *req = reqb->request->u.searchRequest; - Z_APDU *apdu = odr_malloc (assoc->encode, sizeof(*apdu)); - Z_SearchResponse *resp = odr_malloc (assoc->encode, sizeof(*resp)); - int *nulint = odr_malloc (assoc->encode, sizeof(*nulint)); - bool_t *sr = odr_malloc (assoc->encode, sizeof(*sr)); - int *next = odr_malloc (assoc->encode, sizeof(*next)); - int *none = odr_malloc (assoc->encode, sizeof(*none)); + Z_APDU *apdu = (Z_APDU *)odr_malloc (assoc->encode, sizeof(*apdu)); + Z_SearchResponse *resp = (Z_SearchResponse *)odr_malloc (assoc->encode, sizeof(*resp)); + int *nulint = (int *)odr_malloc (assoc->encode, sizeof(*nulint)); + bool_t *sr = (bool_t *)odr_malloc (assoc->encode, sizeof(*sr)); + int *next = (int *)odr_malloc (assoc->encode, sizeof(*next)); + int *none = (int *)odr_malloc (assoc->encode, sizeof(*none)); *nulint = 0; *sr = 1; @@ -1161,8 +1163,8 @@ static Z_APDU *response_searchRequest(association *assoc, request *reqb, } else { - int *toget = odr_malloc (assoc->encode, sizeof(*toget)); - int *presst = odr_malloc (assoc->encode, sizeof(*presst)); + int *toget = (int *)odr_malloc (assoc->encode, sizeof(*toget)); + int *presst = (int *)odr_malloc (assoc->encode, sizeof(*presst)); Z_RecordComposition comp, *compp = 0; *toget = 0; @@ -1259,7 +1261,7 @@ static Z_APDU *process_presentRequest(association *assoc, request *reqb, form = prefformat->value; if (assoc->bend_present) { - bend_present_rr *bprr = nmem_malloc (reqb->request_mem, sizeof(*bprr)); + bend_present_rr *bprr = (bend_present_rr *)nmem_malloc (reqb->request_mem, sizeof(*bprr)); bprr->setname = req->resultSetId; bprr->start = *req->resultSetStartPoint; bprr->number = *req->numberOfRecordsRequested; @@ -1270,16 +1272,16 @@ static Z_APDU *process_presentRequest(association *assoc, request *reqb, bprr->association = assoc; bprr->errcode = 0; bprr->errstring = NULL; - (*assoc->bend_present)(assoc->backend, bprr); + ((int (*)(void *, bend_present_rr *))(*assoc->bend_present))(assoc->backend, bprr); if (!bprr->request) return 0; } - apdu = odr_malloc (assoc->encode, sizeof(*apdu)); - resp = odr_malloc (assoc->encode, sizeof(*resp)); - presst = odr_malloc (assoc->encode, sizeof(*presst)); - next = odr_malloc (assoc->encode, sizeof(*next)); - num = odr_malloc (assoc->encode, sizeof(*num)); + apdu = (Z_APDU *)odr_malloc (assoc->encode, sizeof(*apdu)); + resp = (Z_PresentResponse *)odr_malloc (assoc->encode, sizeof(*resp)); + presst = (int *)odr_malloc (assoc->encode, sizeof(*presst)); + next = (int *)odr_malloc (assoc->encode, sizeof(*next)); + num = (int *)odr_malloc (assoc->encode, sizeof(*num)); *presst = 0; *next = 0; *num = *req->numberOfRecordsRequested; @@ -1308,12 +1310,12 @@ static Z_APDU *process_presentRequest(association *assoc, request *reqb, static Z_APDU *process_scanRequest(association *assoc, request *reqb, int *fd) { Z_ScanRequest *req = reqb->request->u.scanRequest; - Z_APDU *apdu = odr_malloc (assoc->encode, sizeof(*apdu)); - Z_ScanResponse *res = odr_malloc (assoc->encode, sizeof(*res)); - int *scanStatus = odr_malloc (assoc->encode, sizeof(*scanStatus)); + Z_APDU *apdu = (Z_APDU *)odr_malloc (assoc->encode, sizeof(*apdu)); + Z_ScanResponse *res = (Z_ScanResponse *)odr_malloc (assoc->encode, sizeof(*res)); + int *scanStatus = (int *)odr_malloc (assoc->encode, sizeof(*scanStatus)); int *numberOfEntriesReturned = - odr_malloc (assoc->encode, sizeof(*numberOfEntriesReturned)); - Z_ListEntries *ents = odr_malloc (assoc->encode, sizeof(*ents)); + (int *)odr_malloc (assoc->encode, sizeof(*numberOfEntriesReturned)); + Z_ListEntries *ents = (Z_ListEntries *)odr_malloc (assoc->encode, sizeof(*ents)); oident *attent; bend_scanrequest srq; bend_scanresult *srs; @@ -1366,8 +1368,8 @@ static Z_APDU *process_scanRequest(association *assoc, request *reqb, int *fd) else { int i; - Z_Entries *list = odr_malloc (assoc->encode, sizeof(*list)); - Z_Entry **tab = odr_malloc (assoc->encode, + Z_Entries *list = (Z_Entries *)odr_malloc (assoc->encode, sizeof(*list)); + Z_Entry **tab = (Z_Entry **)odr_malloc (assoc->encode, sizeof(*tab) * srs->num_entries); if (srs->status == BEND_SCAN_PARTIAL) @@ -1383,20 +1385,20 @@ static Z_APDU *process_scanRequest(association *assoc, request *reqb, int *fd) Z_TermInfo *t; Odr_oct *o; - list->entries[i] = e = odr_malloc(assoc->encode, sizeof(*e)); + list->entries[i] = e = (Z_Entry *)odr_malloc(assoc->encode, sizeof(*e)); e->which = Z_Entry_termInfo; - e->u.termInfo = t = odr_malloc(assoc->encode, sizeof(*t)); + e->u.termInfo = t = (Z_TermInfo *)odr_malloc(assoc->encode, sizeof(*t)); t->suggestedAttributes = 0; t->displayTerm = 0; t->alternativeTerm = 0; t->byAttributes = 0; t->otherTermInfo = 0; t->globalOccurrences = &srs->entries[i].occurrences; - t->term = odr_malloc(assoc->encode, sizeof(*t->term)); + t->term = (Z_Term *)odr_malloc(assoc->encode, sizeof(*t->term)); t->term->which = Z_Term_general; - t->term->u.general = o = odr_malloc(assoc->encode, + t->term->u.general = o = (Odr_oct *)odr_malloc(assoc->encode, sizeof(Odr_oct)); - o->buf = odr_malloc(assoc->encode, o->len = o->size = + o->buf = (unsigned char *)odr_malloc(assoc->encode, o->len = o->size = strlen(srs->entries[i].term)); memcpy(o->buf, srs->entries[i].term, o->len); logf(LOG_DEBUG, " term #%d: '%s' (%d)", i, @@ -1415,10 +1417,10 @@ static Z_APDU *process_sortRequest(association *assoc, request *reqb, int *fd) { Z_SortRequest *req = reqb->request->u.sortRequest; - Z_SortResponse *res = odr_malloc (assoc->encode, sizeof(*res)); - bend_sort_rr *bsrr = odr_malloc (assoc->encode, sizeof(*bsrr)); + Z_SortResponse *res = (Z_SortResponse *)odr_malloc (assoc->encode, sizeof(*res)); + bend_sort_rr *bsrr = (bend_sort_rr *)odr_malloc (assoc->encode, sizeof(*bsrr)); - Z_APDU *apdu = odr_malloc (assoc->encode, sizeof(*apdu)); + Z_APDU *apdu = (Z_APDU *)odr_malloc (assoc->encode, sizeof(*apdu)); logf(LOG_LOG, "Got SortRequest."); @@ -1432,10 +1434,10 @@ static Z_APDU *process_sortRequest(association *assoc, request *reqb, bsrr->errcode = 0; bsrr->errstring = 0; - (*assoc->bend_sort)(assoc->backend, bsrr); + ((int (*)(void *, bend_sort_rr *))(*assoc->bend_sort))(assoc->backend, bsrr); res->referenceId = req->referenceId; - res->sortStatus = odr_malloc (assoc->encode, sizeof(*res->sortStatus)); + res->sortStatus = (int *)odr_malloc (assoc->encode, sizeof(*res->sortStatus)); *res->sortStatus = bsrr->sort_status; res->resultSetStatus = 0; if (bsrr->errcode) @@ -1479,7 +1481,7 @@ void save_referenceId (request *reqb, Z_ReferenceId *refid) if (refid) { reqb->len_refid = refid->len; - reqb->refid = nmem_malloc (reqb->request_mem, refid->len); + reqb->refid = (char *)nmem_malloc (reqb->request_mem, refid->len); memcpy (reqb->refid, refid->buf, refid->len); } else @@ -1506,8 +1508,8 @@ Z_ReferenceId *bend_request_getid (ODR odr, bend_request req) Z_ReferenceId *id; if (!req->refid) return 0; - id = odr_malloc (odr, sizeof(*odr)); - id->buf = odr_malloc (odr, req->len_refid); + id = (Odr_oct *)odr_malloc (odr, sizeof(*odr)); + id->buf = (unsigned char *)odr_malloc (odr, req->len_refid); id->len = id->size = req->len_refid; memcpy (id->buf, req->refid, req->len_refid); return id;