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

Function gen_routine

src/gpre/languages/pas.cpp:2601–2635  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2599//
2600
2601static void gen_routine( const act* action, int column)
2602{
2603 column += INDENT;
2604
2605 for (const gpre_req* request = (const gpre_req*) action->act_object; request;
2606 request = request->req_routine)
2607 {
2608 gpre_port* port;
2609
2610 for (port = request->req_ports; port; port = port->por_next)
2611 {
2612 printa(column - INDENT, "type");
2613 make_port(port, column);
2614 }
2615
2616 // Only write a var reserved word if there are variables which will be
2617 // associated with a var section. Fix for bug#809. mao 03/22/89
2618
2619 if (request->req_ports) {
2620 printa(column - INDENT, "var");
2621 }
2622
2623 for (port = request->req_ports; port; port = port->por_next)
2624 printa(column, "gds__%d\t: gds__%dt;\t\t\t(* message *)", port->por_ident, port->por_ident);
2625
2626 for (const blb* blob = request->req_blobs; blob; blob = blob->blb_next)
2627 {
2628 printa(column, "gds__%d\t: gds__handle;\t\t\t(* blob handle *)", blob->blb_ident);
2629 printa(column, "gds__%d\t: %s [1 .. %d] of char;\t(* blob segment *)",
2630 blob->blb_buff_ident, PACKED_ARRAY, blob->blb_seg_length);
2631 printa(column, "gds__%d\t: %s;\t\t\t(* segment length *)", blob->blb_len_ident, SHORT_DCL);
2632 }
2633 }
2634 column -= INDENT;
2635}
2636
2637
2638//____________________________________________________________

Callers 1

PAS_actionFunction · 0.70

Calls 2

printaFunction · 0.70
make_portFunction · 0.70

Tested by

no test coverage detected