| 2303 | // |
| 2304 | |
| 2305 | static void put_computed_blr( gpre_req* request, const gpre_fld* field) |
| 2306 | { |
| 2307 | //const act* action = request->req_actions; |
| 2308 | //const gpre_rel* relation = (gpre_rel*) action->act_object; |
| 2309 | |
| 2310 | // Computed field context has to be 0 - so force it |
| 2311 | |
| 2312 | gpre_ctx* context = request->req_contexts; |
| 2313 | const USHORT save_ctx_int = context->ctx_internal; |
| 2314 | context->ctx_internal = 0; |
| 2315 | request->add_byte(isc_dyn_fld_computed_blr); |
| 2316 | |
| 2317 | const USHORT offset = request->req_blr - request->req_base; |
| 2318 | request->add_word(0); |
| 2319 | if (request->req_flags & REQ_blr_version4) |
| 2320 | request->add_byte(blr_version4); |
| 2321 | else |
| 2322 | request->add_byte(blr_version5); |
| 2323 | CME_expr(field->fld_computed->cmpf_boolean, request); |
| 2324 | request->add_byte(blr_eoc); |
| 2325 | |
| 2326 | context->ctx_internal = save_ctx_int; |
| 2327 | |
| 2328 | const USHORT length = request->req_blr - request->req_base - offset - 2; |
| 2329 | request->req_base[offset] = (UCHAR) length; |
| 2330 | request->req_base[offset + 1] = (UCHAR) (length >> 8); |
| 2331 | } |
| 2332 | |
| 2333 | |
| 2334 | //____________________________________________________________ |
no test coverage detected