| 636 | // |
| 637 | |
| 638 | static void cmp_blr( gpre_req* request) |
| 639 | { |
| 640 | request->add_byte(blr_begin); |
| 641 | |
| 642 | // build message definition for each port |
| 643 | |
| 644 | gpre_port* port; |
| 645 | for (port = request->req_ports; port; port = port->por_next) |
| 646 | cmp_port(port, request); |
| 647 | |
| 648 | // See if there is a receive to be built |
| 649 | |
| 650 | if ((request->req_type == REQ_store) || (request->req_type == REQ_store2)) |
| 651 | port = request->req_primary; |
| 652 | else |
| 653 | port = request->req_vport; |
| 654 | |
| 655 | if (port) |
| 656 | make_receive(port, request); |
| 657 | |
| 658 | // Compile up request |
| 659 | |
| 660 | switch (request->req_type) |
| 661 | { |
| 662 | case REQ_cursor: |
| 663 | case REQ_for: |
| 664 | cmp_for(request); |
| 665 | break; |
| 666 | |
| 667 | case REQ_insert: |
| 668 | case REQ_store: |
| 669 | case REQ_store2: |
| 670 | cmp_store(request, request->req_node); |
| 671 | break; |
| 672 | |
| 673 | case REQ_mass_update: |
| 674 | cmp_loop(request); |
| 675 | break; |
| 676 | |
| 677 | case REQ_any: |
| 678 | cmp_any(request); |
| 679 | break; |
| 680 | |
| 681 | case REQ_set_generator: |
| 682 | cmp_set_generator(request); |
| 683 | break; |
| 684 | |
| 685 | default: |
| 686 | CPR_error("*** unknown request type node ***"); |
| 687 | } |
| 688 | |
| 689 | request->add_byte(blr_end); |
| 690 | } |
| 691 | |
| 692 | |
| 693 | //____________________________________________________________ |
no test coverage detected