| 604 | // |
| 605 | |
| 606 | static void asgn_to(const act* action, const ref* reference, int column) |
| 607 | { |
| 608 | TEXT s[MAX_REF_SIZE]; |
| 609 | |
| 610 | ref* source = reference->ref_friend; |
| 611 | const gpre_fld* field = source->ref_field; |
| 612 | |
| 613 | if (field && field->fld_array_info) |
| 614 | { |
| 615 | source->ref_value = reference->ref_value; |
| 616 | gen_get_or_put_slice(action, source, true, column); |
| 617 | return; |
| 618 | } |
| 619 | |
| 620 | if (field && (field->fld_flags & FLD_text)) |
| 621 | fprintf(gpreGlob.out_file, "gds__ftof (%s%s, %d, %s%s, %s (%s));", |
| 622 | REF_PAR, gen_name(s, source, true), field->fld_length, |
| 623 | REF_PAR, reference->ref_value, SIZEOF, reference->ref_value); |
| 624 | else |
| 625 | fprintf(gpreGlob.out_file, "%s := %s;", reference->ref_value, gen_name(s, source, true)); |
| 626 | |
| 627 | // Pick up NULL value if one is there |
| 628 | |
| 629 | if (reference = reference->ref_null) |
| 630 | fprintf(gpreGlob.out_file, "%s := %s;", reference->ref_value, gen_name(s, reference, true)); |
| 631 | } |
| 632 | |
| 633 | |
| 634 | //____________________________________________________________ |
no test coverage detected