| 721 | // |
| 722 | |
| 723 | static void asgn_to(const act* action, const ref* reference) |
| 724 | { |
| 725 | ref* source = reference->ref_friend; |
| 726 | const gpre_fld* field = source->ref_field; |
| 727 | if (field->fld_array_info) |
| 728 | { |
| 729 | source->ref_value = reference->ref_value; |
| 730 | gen_get_or_put_slice(action, source, true); |
| 731 | return; |
| 732 | } |
| 733 | |
| 734 | SCHAR s[MAX_REF_SIZE]; |
| 735 | gen_name(s, source, true); |
| 736 | |
| 737 | if (field->fld_dtype == dtype_blob || field->fld_dtype == dtype_quad || |
| 738 | field->fld_dtype == dtype_date) |
| 739 | { |
| 740 | sprintf(output_buffer, "%sCALL isc_qtoq (%s, %s)\n", COLUMN, s, reference->ref_value); |
| 741 | } |
| 742 | else |
| 743 | sprintf(output_buffer, "%s%s = %s\n", COLUMN, reference->ref_value, s); |
| 744 | FTN_print_buffer(output_buffer); |
| 745 | |
| 746 | // Pick up NULL value if one is there |
| 747 | |
| 748 | if (reference = reference->ref_null) |
| 749 | { |
| 750 | sprintf(output_buffer, "%s%s = %s\n", |
| 751 | COLUMN, reference->ref_value, gen_name(s, reference, true)); |
| 752 | FTN_print_buffer(output_buffer); |
| 753 | } |
| 754 | } |
| 755 | |
| 756 | |
| 757 | //____________________________________________________________ |
no test coverage detected