X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fseshigh.c;h=1a3e7949301d3892814663ca5e411143dde6aa62;hb=84567c573de4d4b9822d9f2dd9caf8e97d864118;hp=2a3ff0e6e559e1540749b43e4934bb16da9d9d37;hpb=3939d0f59b399825b75e55172794823a52c68bba;p=yaz-moved-to-github.git diff --git a/src/seshigh.c b/src/seshigh.c index 2a3ff0e..1a3e794 100644 --- a/src/seshigh.c +++ b/src/seshigh.c @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2008 Index Data + * Copyright (C) 1995-2009 Index Data * See the file LICENSE for details. */ /** @@ -93,7 +93,6 @@ static Z_APDU *process_presentRequest(association *assoc, request *reqb, static Z_APDU *process_scanRequest(association *assoc, request *reqb, int *fd); static Z_APDU *process_sortRequest(association *assoc, request *reqb, int *fd); static void process_close(association *assoc, request *reqb); -void save_referenceId(request *reqb, Z_ReferenceId *refid); static Z_APDU *process_deleteRequest(association *assoc, request *reqb, int *fd); static Z_APDU *process_segmentRequest(association *assoc, request *reqb); @@ -377,7 +376,7 @@ void ir_session(IOCHAN h, int event) { if (assoc->state != ASSOC_UP) { - yaz_log(YLOG_DEBUG, "Final timeout - closing connection."); + yaz_log(log_session, "Timeout. Closing connection"); /* do we need to lod this at all */ cs_close(conn); destroy_association(assoc); @@ -385,8 +384,7 @@ void ir_session(IOCHAN h, int event) } else { - yaz_log(log_sessiondetail, - "Session idle too long. Sending close."); + yaz_log(log_sessiondetail, "Timeout. Sending Z39.50 Close"); do_close(assoc, Z_Close_lackOfActivity, 0); } return; @@ -509,6 +507,7 @@ static void assoc_init_reset(association *assoc) assoc->init->bend_explain = NULL; assoc->init->bend_srw_scan = NULL; assoc->init->bend_srw_update = NULL; + assoc->init->named_result_sets = 0; assoc->init->charneg_request = NULL; assoc->init->charneg_response = NULL; @@ -664,7 +663,6 @@ static int retrieve_fetch(association *assoc, bend_fetch_rr *rr) rr->output_format = match_syntax; if (match_schema) rr->schema = odr_strdup(rr->stream, match_schema); - return 0; #else (*assoc->init->bend_fetch)(assoc->backend, rr); #endif @@ -848,9 +846,10 @@ static int ccl2pqf(ODR odr, const Odr_oct *ccl, CCL_bibset bibset, static void srw_bend_search(association *assoc, request *req, Z_SRW_PDU *sr, - Z_SRW_searchRetrieveResponse *srw_res, + Z_SRW_PDU *res, int *http_code) { + Z_SRW_searchRetrieveResponse *srw_res = res->u.response; int srw_error = 0; Z_External *ext; Z_SRW_searchRetrieveRequest *srw_req = sr->u.request; @@ -873,6 +872,8 @@ static void srw_bend_search(association *assoc, request *req, rr.partial_resultset = 0; rr.query = (Z_Query *) odr_malloc(assoc->decode, sizeof(*rr.query)); rr.query->u.type_1 = 0; + rr.extra_args = sr->extra_args; + rr.extra_response_data = 0; if (srw_req->query_type == Z_SRW_query_type_cql) { @@ -939,7 +940,6 @@ static void srw_bend_search(association *assoc, request *req, rr.stream = assoc->encode; rr.decode = assoc->decode; rr.print = assoc->print; - rr.request = req; if ( srw_req->sort.sortKeys ) rr.srw_sortKeys = odr_strdup(assoc->encode, srw_req->sort.sortKeys ); @@ -972,7 +972,8 @@ static void srw_bend_search(association *assoc, request *req, int number = srw_req->maximumRecords ? *srw_req->maximumRecords : 0; int start = srw_req->startRecord ? *srw_req->startRecord : 1; - yaz_log(log_requestdetail, "Request to pack %d+%d out of %d", + yaz_log(log_requestdetail, "Request to pack %d+%d out of " + ODR_INT_PRINTF, start, number, rr.hits); srw_res->numberOfRecords = odr_intdup(assoc->encode, rr.hits); @@ -1025,14 +1026,11 @@ static void srw_bend_search(association *assoc, request *req, bprr->stream = assoc->encode; bprr->referenceId = 0; bprr->print = assoc->print; - bprr->request = req; bprr->association = assoc; bprr->errcode = 0; bprr->errstring = NULL; (*assoc->init->bend_present)(assoc->backend, bprr); - if (!bprr->request) - return; if (bprr->errcode) { srw_error = yaz_diag_bib1_to_srw(bprr->errcode); @@ -1093,6 +1091,11 @@ static void srw_bend_search(association *assoc, request *req, srw_res->records = 0; } } + if (rr.extra_response_data) + { + res->extraResponseData_buf = rr.extra_response_data; + res->extraResponseData_len = strlen(rr.extra_response_data); + } if (rr.estimated_hit_count || rr.partial_resultset) { yaz_add_srw_diagnostic( @@ -1122,20 +1125,18 @@ static void srw_bend_search(association *assoc, request *req, querystr = srw_req->query.pqf; break; } - wrbuf_printf(wr, "SRWSearch "); - wrbuf_printf(wr, srw_req->database); - wrbuf_printf(wr, " "); + wrbuf_printf(wr, "SRWSearch %s ", srw_req->database); if (srw_res->num_diagnostics) wrbuf_printf(wr, "ERROR %s", srw_res->diagnostics[0].uri); else if (*http_code != 200) wrbuf_printf(wr, "ERROR info:http/%d", *http_code); else if (srw_res->numberOfRecords) { - wrbuf_printf(wr, "OK %d", + wrbuf_printf(wr, "OK " ODR_INT_PRINTF, (srw_res->numberOfRecords ? *srw_res->numberOfRecords : 0)); } - wrbuf_printf(wr, " %s %d+%d", + wrbuf_printf(wr, " %s " ODR_INT_PRINTF " +%d", (srw_res->resultSetId ? srw_res->resultSetId : "-"), (srw_req->startRecord ? *srw_req->startRecord : 1), @@ -1394,9 +1395,7 @@ static void srw_bend_scan(association *assoc, request *req, querystr = ""; } - wrbuf_printf(wr, "SRWScan "); - wrbuf_printf(wr, srw_req->database); - wrbuf_printf(wr, " "); + wrbuf_printf(wr, "SRWScan %s ", srw_req->database); if (srw_res->num_diagnostics) wrbuf_printf(wr, "ERROR %s - ", srw_res->diagnostics[0].uri); @@ -1405,7 +1404,7 @@ static void srw_bend_scan(association *assoc, request *req, else wrbuf_printf(wr, "OK - - "); - wrbuf_printf(wr, "%d+%d+0 ", + wrbuf_printf(wr, ODR_INT_PRINTF "+" ODR_INT_PRINTF " ", (srw_req->responsePosition ? *srw_req->responsePosition : 1), (srw_req->maximumTerms ? @@ -1661,7 +1660,7 @@ static int check_path(const char *path) return 1; } -static char *read_file(const char *fname, ODR o, int *sz) +static char *read_file(const char *fname, ODR o, size_t *sz) { char *buf; FILE *inf = fopen(fname, "rb"); @@ -1672,7 +1671,8 @@ static char *read_file(const char *fname, ODR o, int *sz) *sz = ftell(inf); rewind(inf); buf = (char *) odr_malloc(o, *sz); - fread(buf, 1, *sz, inf); + if (fread(buf, 1, *sz, inf) != *sz) + yaz_log(YLOG_WARN|YLOG_ERRNO, "short read %s", fname); fclose(inf); return buf; } @@ -1693,6 +1693,7 @@ static void process_http_request(association *assoc, request *req) int num_diagnostic = 0; const char *host = z_HTTP_header_lookup(hreq->headers, "Host"); + yaz_log(log_request, "%s %s HTTP/%s", hreq->method, hreq->path, hreq->version); if (!control_association(assoc, host, 0)) { p = z_get_HTTP_Response(o, 404); @@ -1713,7 +1714,7 @@ static void process_http_request(association *assoc, request *req) } else { - int content_size = 0; + size_t content_size = 0; char *content_buf = read_file(hreq->path+1, o, &content_size); if (!content_buf) { @@ -1785,8 +1786,7 @@ static void process_http_request(association *assoc, request *req) } else { - srw_bend_search(assoc, req, sr, res->u.response, - &http_code); + srw_bend_search(assoc, req, sr, res, &http_code); } if (http_code == 200) soap_package->u.generic->p = res; @@ -2167,7 +2167,6 @@ static Z_APDU *process_initRequest(association *assoc, request *reqb) Z_APDU *apdu = zget_APDU(assoc->encode, Z_APDU_initResponse); Z_InitResponse *resp = apdu->u.initResponse; bend_initresult *binitres; - char *version; char options[140]; statserv_options_block *cb = 0; /* by default no control for backend */ @@ -2202,6 +2201,10 @@ static Z_APDU *process_initRequest(association *assoc, request *reqb) assoc->init->charneg_request = negotiation; } + /* by default named_result_sets is 0 .. Enable it if client asks for it. */ + if (ODR_MASK_GET(req->options, Z_Options_namedResultSets)) + assoc->init->named_result_sets = 1; + assoc->backend = 0; if (cb) { @@ -2268,7 +2271,8 @@ static Z_APDU *process_initRequest(association *assoc, request *reqb) ODR_MASK_SET(resp->options, Z_Options_extendedServices); strcat(options, " extendedServices"); } - if (ODR_MASK_GET(req->options, Z_Options_namedResultSets)) + if (ODR_MASK_GET(req->options, Z_Options_namedResultSets) + && assoc->init->named_result_sets) { ODR_MASK_SET(resp->options, Z_Options_namedResultSets); strcat(options, " namedresults"); @@ -2354,14 +2358,6 @@ static Z_APDU *process_initRequest(association *assoc, request *reqb) assoc->init->implementation_name, odr_prepend(assoc->encode, "GFS", resp->implementationName)); - version = odr_strdup(assoc->encode, "$Revision: 1.128 $"); - if (strlen(version) > 10) /* check for unexpanded CVS strings */ - version[strlen(version)-2] = '\0'; - resp->implementationVersion = odr_prepend(assoc->encode, - assoc->init->implementation_version, - odr_prepend(assoc->encode, &version[11], - resp->implementationVersion)); - if (binitres->errcode) { assoc->state = ASSOC_DEAD; @@ -2370,6 +2366,9 @@ static Z_APDU *process_initRequest(association *assoc, request *reqb) binitres->errstring); *resp->result = 0; } + else + assoc->state = ASSOC_UP; + if (log_request) { if (!req->idAuthentication) @@ -2464,9 +2463,9 @@ static Z_NamePlusRecord *surrogatediagrec(association *assoc, return zget_surrogateDiagRec(assoc->encode, dbname, error, addinfo); } -static Z_Records *pack_records(association *a, char *setname, int start, - int *num, Z_RecordComposition *comp, - int *next, int *pres, +static Z_Records *pack_records(association *a, char *setname, Odr_int start, + Odr_int *num, Z_RecordComposition *comp, + Odr_int *next, Odr_int *pres, Z_ReferenceId *referenceId, Odr_oid *oid, int *errcode) { @@ -2486,8 +2485,9 @@ static Z_Records *pack_records(association *a, char *setname, int start, *num = 0; *next = 0; - yaz_log(log_requestdetail, "Request to pack %d+%d %s", start, toget, setname); - yaz_log(log_requestdetail, "pms=%d, mrs=%d", a->preferredMessageSize, + yaz_log(log_requestdetail, "Request to pack " ODR_INT_PRINTF "+%d %s", start, toget, setname); + yaz_log(log_requestdetail, "pms=" ODR_INT_PRINTF + ", mrs=" ODR_INT_PRINTF, a->preferredMessageSize, a->maximumRecordSize); for (recno = start; reclist->num_records < toget; recno++) { @@ -2582,7 +2582,8 @@ static Z_Records *pack_records(association *a, char *setname, int start, } else /* too big entirely */ { - yaz_log(log_requestdetail, "Record > maxrcdsz this=%d max=%d", + yaz_log(log_requestdetail, "Record > maxrcdsz " + "this=%d max=" ODR_INT_PRINTF, this_length, a->maximumRecordSize); reclist->records[reclist->num_records] = surrogatediagrec(a, freq.basename, 17, 0); @@ -2620,15 +2621,15 @@ static Z_APDU *process_searchRequest(association *assoc, request *reqb, yaz_log(log_requestdetail, "Got SearchRequest."); bsrr->fd = fd; - bsrr->request = reqb; bsrr->association = assoc; bsrr->referenceId = req->referenceId; - save_referenceId (reqb, bsrr->referenceId); bsrr->srw_sortKeys = 0; bsrr->srw_setname = 0; bsrr->srw_setnameIdleTime = 0; bsrr->estimated_hit_count = 0; bsrr->partial_resultset = 0; + bsrr->extra_args = 0; + bsrr->extra_response_data = 0; yaz_log (log_requestdetail, "ResultSet '%s'", req->resultSetName); if (req->databaseNames) @@ -2681,8 +2682,6 @@ static Z_APDU *process_searchRequest(association *assoc, request *reqb, if (!bsrr->errcode) (assoc->init->bend_search)(assoc->backend, bsrr); - if (!bsrr->request) /* backend not ready with the search response */ - return 0; /* should not be used any more */ } else { @@ -2708,9 +2707,9 @@ static Z_APDU *response_searchRequest(association *assoc, request *reqb, Z_APDU *apdu = (Z_APDU *)odr_malloc(assoc->encode, sizeof(*apdu)); Z_SearchResponse *resp = (Z_SearchResponse *) odr_malloc(assoc->encode, sizeof(*resp)); - int *nulint = odr_intdup(assoc->encode, 0); - int *next = odr_intdup(assoc->encode, 0); - int *none = odr_intdup(assoc->encode, Z_SearchResponse_none); + Odr_int *nulint = odr_intdup(assoc->encode, 0); + Odr_int *next = odr_intdup(assoc->encode, 0); + Odr_int *none = odr_intdup(assoc->encode, Z_SearchResponse_none); int returnedrecs = 0; apdu->which = Z_APDU_searchResponse; @@ -2730,24 +2729,26 @@ static Z_APDU *response_searchRequest(association *assoc, request *reqb, resp->resultCount = nulint; resp->numberOfRecordsReturned = nulint; resp->nextResultSetPosition = nulint; - resp->searchStatus = nulint; + resp->searchStatus = odr_booldup(assoc->encode, 0); resp->resultSetStatus = none; resp->presentStatus = 0; } else { - bool_t *sr = odr_intdup(assoc->encode, 1); - int *toget = odr_intdup(assoc->encode, 0); + bool_t *sr = odr_booldup(assoc->encode, 1); + Odr_int *toget = odr_intdup(assoc->encode, 0); Z_RecordComposition comp, *compp = 0; - yaz_log(log_requestdetail, "resultCount: %d", bsrt->hits); + yaz_log(log_requestdetail, "resultCount: " ODR_INT_PRINTF, bsrt->hits); resp->records = 0; resp->resultCount = &bsrt->hits; comp.which = Z_RecordComp_simple; /* how many records does the user agent want, then? */ - if (bsrt->hits <= *req->smallSetUpperBound) + if (bsrt->hits < 0) + *toget = 0; + else if (bsrt->hits <= *req->smallSetUpperBound) { *toget = bsrt->hits; if ((comp.u.simple = req->smallSetElementSetNames)) @@ -2766,7 +2767,7 @@ static Z_APDU *response_searchRequest(association *assoc, request *reqb, if (*toget && !resp->records) { - int *presst = odr_intdup(assoc->encode, 0); + Odr_int *presst = odr_intdup(assoc->encode, 0); /* Call bend_present if defined */ if (assoc->init->bend_present) { @@ -2780,14 +2781,11 @@ static Z_APDU *response_searchRequest(association *assoc, request *reqb, bprr->referenceId = req->referenceId; bprr->stream = assoc->encode; bprr->print = assoc->print; - bprr->request = reqb; bprr->association = assoc; bprr->errcode = 0; bprr->errstring = NULL; (*assoc->init->bend_present)(assoc->backend, bprr); - if (!bprr->request) - return 0; if (bprr->errcode) { resp->records = diagrec(assoc, bprr->errcode, bprr->errstring); @@ -2837,14 +2835,14 @@ static Z_APDU *response_searchRequest(association *assoc, request *reqb, for (i = 0 ; i < req->num_databaseNames; i++){ if (i) wrbuf_printf(wr, "+"); - wrbuf_printf(wr, req->databaseNames[i]); + wrbuf_puts(wr, req->databaseNames[i]); } wrbuf_printf(wr, " "); if (bsrt->errcode) wrbuf_printf(wr, "ERROR %d", bsrt->errcode); else - wrbuf_printf(wr, "OK %d", bsrt->hits); + wrbuf_printf(wr, "OK " ODR_INT_PRINTF, bsrt->hits); wrbuf_printf(wr, " %s 1+%d ", req->resultSetName, returnedrecs); yaz_query_to_wrbuf(wr, req->query); @@ -2876,8 +2874,8 @@ static Z_APDU *process_presentRequest(association *assoc, request *reqb, Z_PresentRequest *req = reqb->apdu_request->u.presentRequest; Z_APDU *apdu; Z_PresentResponse *resp; - int *next; - int *num; + Odr_int *next; + Odr_int *num; int errcode = 0; const char *errstring = 0; @@ -2898,14 +2896,11 @@ static Z_APDU *process_presentRequest(association *assoc, request *reqb, bprr->referenceId = req->referenceId; bprr->stream = assoc->encode; bprr->print = assoc->print; - bprr->request = reqb; bprr->association = assoc; bprr->errcode = 0; bprr->errstring = NULL; (*assoc->init->bend_present)(assoc->backend, bprr); - if (!bprr->request) - return 0; /* should not happen */ if (bprr->errcode) { resp->records = diagrec(assoc, bprr->errcode, bprr->errstring); @@ -2943,9 +2938,10 @@ static Z_APDU *process_presentRequest(association *assoc, request *reqb, else if (*resp->presentStatus == Z_PresentStatus_success) wrbuf_printf(wr, "OK - "); else - wrbuf_printf(wr, "Partial %d - ", *resp->presentStatus); + wrbuf_printf(wr, "Partial " ODR_INT_PRINTF " - ", + *resp->presentStatus); - wrbuf_printf(wr, " %s %d+%d ", + wrbuf_printf(wr, " %s " ODR_INT_PRINTF "+" ODR_INT_PRINTF " ", req->resultSetId, *req->resultSetStartPoint, *req->numberOfRecordsRequested); yaz_log(log_request, "%s", wrbuf_cstr(wr) ); @@ -2969,8 +2965,8 @@ static Z_APDU *process_scanRequest(association *assoc, request *reqb, int *fd) Z_APDU *apdu = (Z_APDU *)odr_malloc(assoc->encode, sizeof(*apdu)); Z_ScanResponse *res = (Z_ScanResponse *) odr_malloc(assoc->encode, sizeof(*res)); - int *scanStatus = odr_intdup(assoc->encode, Z_Scan_failure); - int *numberOfEntriesReturned = odr_intdup(assoc->encode, 0); + Odr_int *scanStatus = odr_intdup(assoc->encode, Z_Scan_failure); + Odr_int *numberOfEntriesReturned = odr_intdup(assoc->encode, 0); Z_ListEntries *ents = (Z_ListEntries *) odr_malloc(assoc->encode, sizeof(*ents)); Z_DiagRecs *diagrecs_p = NULL; @@ -3068,7 +3064,8 @@ static Z_APDU *process_scanRequest(association *assoc, request *reqb, int *fd) *scanStatus = Z_Scan_success; ents->entries = tab; ents->num_entries = bsrr->num_entries; - res->numberOfEntriesReturned = &ents->num_entries; + res->numberOfEntriesReturned = odr_intdup(assoc->encode, + ents->num_entries); res->positionOfTerm = &bsrr->term_position; for (i = 0; i < bsrr->num_entries; i++) { @@ -3107,7 +3104,7 @@ static Z_APDU *process_scanRequest(association *assoc, request *reqb, int *fd) odr_malloc(assoc->encode, o->len = o->size = strlen(bsrr->entries[i].term)); memcpy(o->buf, bsrr->entries[i].term, o->len); - yaz_log(YLOG_DEBUG, " term #%d: '%s' (%d)", i, + yaz_log(YLOG_DEBUG, " term #%d: '%s' (" ODR_INT_PRINTF ")", i, bsrr->entries[i].term, bsrr->entries[i].occurrences); } else @@ -3136,7 +3133,7 @@ static Z_APDU *process_scanRequest(association *assoc, request *reqb, int *fd) { if (i) wrbuf_printf(wr, "+"); - wrbuf_printf(wr, req->databaseNames[i]); + wrbuf_puts(wr, req->databaseNames[i]); } wrbuf_printf(wr, " "); @@ -3146,7 +3143,8 @@ static Z_APDU *process_scanRequest(association *assoc, request *reqb, int *fd) else wrbuf_printf(wr, "OK"); - wrbuf_printf(wr, " %d - %d+%d+%d", + wrbuf_printf(wr, " " ODR_INT_PRINTF " - " ODR_INT_PRINTF "+" + ODR_INT_PRINTF "+" ODR_INT_PRINTF, res->numberOfEntriesReturned ? *res->numberOfEntriesReturned : 0, (req->preferredPositionInResponse ? @@ -3233,7 +3231,7 @@ static Z_APDU *process_sortRequest(association *assoc, request *reqb, { if (i) wrbuf_printf(wr, "+"); - wrbuf_printf(wr, req->inputResultSetNames[i]); + wrbuf_puts(wr, req->inputResultSetNames[i]); } wrbuf_printf(wr, ")->%s ",req->sortedResultSetName); @@ -3269,7 +3267,7 @@ static Z_APDU *process_deleteRequest(association *assoc, request *reqb, bdrr->statuses = 0; if (bdrr->num_setnames > 0) { - bdrr->statuses = (int*) + bdrr->statuses = (Odr_int*) odr_malloc(assoc->encode, sizeof(*bdrr->statuses) * bdrr->num_setnames); for (i = 0; i < bdrr->num_setnames; i++) @@ -3354,72 +3352,6 @@ static void process_close(association *assoc, request *reqb) yaz_log(log_request,"Close OK"); } -void save_referenceId(request *reqb, Z_ReferenceId *refid) -{ - if (refid) - { - reqb->len_refid = refid->len; - reqb->refid = (char *)nmem_malloc(reqb->request_mem, refid->len); - memcpy(reqb->refid, refid->buf, refid->len); - } - else - { - reqb->len_refid = 0; - reqb->refid = NULL; - } -} - -void bend_request_send(bend_association a, bend_request req, Z_APDU *res) -{ - process_z_response(a, req, res); -} - -bend_request bend_request_mk(bend_association a) -{ - request *nreq = request_get(&a->outgoing); - nreq->request_mem = nmem_create(); - return nreq; -} - -Z_ReferenceId *bend_request_getid(ODR odr, bend_request req) -{ - Z_ReferenceId *id; - if (!req->refid) - return 0; - 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; -} - -void bend_request_destroy(bend_request *req) -{ - nmem_destroy((*req)->request_mem); - request_release(*req); - *req = NULL; -} - -int bend_backend_respond(bend_association a, bend_request req) -{ - char *msg; - int r; - r = process_z_request(a, req, &msg); - if (r < 0) - yaz_log(YLOG_WARN, "%s", msg); - return r; -} - -void bend_request_setdata(bend_request r, void *p) -{ - r->clientData = p; -} - -void *bend_request_getdata(bend_request r) -{ - return r->clientData; -} - static Z_APDU *process_segmentRequest(association *assoc, request *reqb) { bend_segment_rr req; @@ -3452,7 +3384,6 @@ static Z_APDU *process_ESRequest(association *assoc, request *reqb, int *fd) esrequest.print = assoc->print; esrequest.errcode = 0; esrequest.errstring = NULL; - esrequest.request = reqb; esrequest.association = assoc; esrequest.taskPackage = 0; esrequest.referenceId = req->referenceId; @@ -3476,10 +3407,6 @@ static Z_APDU *process_ESRequest(association *assoc, request *reqb, int *fd) (*assoc->init->bend_esrequest)(assoc->backend, &esrequest); - /* If the response is being delayed, return NULL */ - if (esrequest.request == NULL) - return(NULL); - resp->referenceId = req->referenceId; if (esrequest.errcode == -1) @@ -3536,6 +3463,7 @@ int bend_assoc_is_alive(bend_association assoc) /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab