| 710 | // |
| 711 | |
| 712 | static void asgn_to_proc(const ref* reference, int column) |
| 713 | { |
| 714 | char s[MAX_REF_SIZE]; |
| 715 | |
| 716 | for (; reference; reference = reference->ref_next) |
| 717 | { |
| 718 | if (!reference->ref_value) |
| 719 | continue; |
| 720 | const gpre_fld* field = reference->ref_field; |
| 721 | gen_name(s, reference, true); |
| 722 | align(column); |
| 723 | |
| 724 | if (field->fld_dtype > dtype_cstring) |
| 725 | fprintf(gpreGlob.out_file, "%s = %s;", reference->ref_value, s); |
| 726 | else if (field->fld_sub_type == 1 && field->fld_length == 1) |
| 727 | fprintf(gpreGlob.out_file, "%s = %s;", reference->ref_value, s); |
| 728 | else if (field->fld_flags & FLD_dbkey) |
| 729 | fprintf(gpreGlob.out_file, "isc_ftof (%s, %d, %s, %d);", |
| 730 | s, field->fld_length, reference->ref_value, field->fld_length); |
| 731 | else if (!gpreGlob.sw_cstring || field->fld_sub_type == 1) |
| 732 | fprintf(gpreGlob.out_file, "isc_ftof (%s, %d, %s, sizeof(%s));", |
| 733 | s, field->fld_length, reference->ref_value, reference->ref_value); |
| 734 | else |
| 735 | fprintf(gpreGlob.out_file, isLangCpp(gpreGlob.sw_language) ? |
| 736 | "isc_vtov ((const char*) %s, (char*) %s, sizeof(%s));" : |
| 737 | "isc_vtov ((char*) %s, (char*) %s, sizeof(%s));", |
| 738 | s, reference->ref_value, reference->ref_value); |
| 739 | } |
| 740 | } |
| 741 | |
| 742 | |
| 743 | //____________________________________________________________ |
no test coverage detected