MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / gen_routine

Function gen_routine

src/gpre/languages/ada.cpp:2648–2683  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2646//
2647
2648static 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//____________________________________________________________

Callers 1

ADA_actionFunction · 0.70

Calls 2

make_portFunction · 0.70
printaFunction · 0.70

Tested by

no test coverage detected