| 2646 | // |
| 2647 | |
| 2648 | static void gen_routine( const act* action, int column) |
| 2649 | { |
| 2650 | column += INDENT; |
| 2651 | |
| 2652 | for (gpre_req* request = (gpre_req*) action->act_object; request; request = request->req_routine) |
| 2653 | { |
| 2654 | for (const gpre_port* port = request->req_ports; port; port = port->por_next) |
| 2655 | make_port(port, column); |
| 2656 | for (const gpre_port* port = request->req_ports; port; port = port->por_next) |
| 2657 | printa(column, "isc_%d\t: isc_%dt;\t\t\t-- message --", port->por_ident, port->por_ident); |
| 2658 | |
| 2659 | for (const blb* blob = request->req_blobs; blob; blob = blob->blb_next) |
| 2660 | { |
| 2661 | printa(column, "isc_%d\t: firebird.blob_handle;\t-- blob handle --", blob->blb_ident); |
| 2662 | SSHORT blob_subtype = blob->blb_const_to_type; |
| 2663 | if (!blob_subtype) |
| 2664 | { |
| 2665 | const ref* reference = blob->blb_reference; |
| 2666 | if (reference) |
| 2667 | { |
| 2668 | const gpre_fld* field = reference->ref_field; |
| 2669 | if (field) |
| 2670 | blob_subtype = field->fld_sub_type; |
| 2671 | } |
| 2672 | } |
| 2673 | if (blob_subtype != 0 && blob_subtype != 1) |
| 2674 | printa(column, "isc_%d\t: %s (1..%d);\t-- blob segment --", |
| 2675 | blob->blb_buff_ident, BYTE_VECTOR_DCL, blob->blb_seg_length); |
| 2676 | else |
| 2677 | printa(column, "isc_%d\t: string (1..%d);\t-- blob segment --", |
| 2678 | blob->blb_buff_ident, blob->blb_seg_length); |
| 2679 | printa(column, "isc_%d\t: %s;\t\t\t-- segment length --", blob->blb_len_ident, USHORT_DCL); |
| 2680 | } |
| 2681 | } |
| 2682 | column -= INDENT; |
| 2683 | } |
| 2684 | |
| 2685 | |
| 2686 | //____________________________________________________________ |
no test coverage detected