| 546 | // |
| 547 | |
| 548 | static void asgn_to( const act* action, ref* reference, int column) |
| 549 | { |
| 550 | ref* source = reference->ref_friend; |
| 551 | const gpre_fld* field = source->ref_field; |
| 552 | |
| 553 | if (field->fld_array_info) |
| 554 | { |
| 555 | source->ref_value = reference->ref_value; |
| 556 | gen_get_or_put_slice(action, source, true, column); |
| 557 | return; |
| 558 | } |
| 559 | |
| 560 | //if (field && (field->fld_flags & FLD_text)) |
| 561 | // printa (column, "firebird.isc_ftof (%s, %d, %s, sizeof (%s));", |
| 562 | // gen_name (s, source, true), |
| 563 | // field->fld_length, |
| 564 | // reference->ref_value, |
| 565 | // reference->ref_value); |
| 566 | //else |
| 567 | // |
| 568 | TEXT s[MAX_REF_SIZE]; |
| 569 | printa(column, "%s := %s;", reference->ref_value, gen_name(s, source, true)); |
| 570 | |
| 571 | // Pick up NULL value if one is there |
| 572 | if (reference = reference->ref_null) |
| 573 | printa(column, "%s := %s;", reference->ref_value, gen_name(s, reference, true)); |
| 574 | } |
| 575 | |
| 576 | |
| 577 | //____________________________________________________________ |
no test coverage detected