@@ -4685,8 +4685,9 @@ initialize_uniform_char (const struct cb_field *f,
4685
4685
case COB_TYPE_NUMERIC_DISPLAY :
4686
4686
return '0' ;
4687
4687
case COB_TYPE_ALPHANUMERIC :
4688
- case COB_TYPE_NATIONAL :
4689
4688
return ' ' ;
4689
+ case COB_TYPE_NATIONAL :
4690
+ return 0xFF ;
4690
4691
default :
4691
4692
return -1 ;
4692
4693
}
@@ -4889,6 +4890,18 @@ output_initialize_uniform (cb_tree x, struct cb_field *f,
4889
4890
output ("*(cob_u8_ptr)(" );
4890
4891
output_data (x );
4891
4892
output_char (") = " , cc , ";" );
4893
+ } else if (cc == 0xFF ) {
4894
+ int tmp_size ;
4895
+ tmp_size = f -> size ;
4896
+ f -> size = size ;
4897
+
4898
+ output ("cob_move (" );
4899
+ output_param (cb_space , 1 );
4900
+ output (", " );
4901
+ output_param (x , 2 );
4902
+ output (");" );
4903
+
4904
+ f -> size = tmp_size ;
4892
4905
} else {
4893
4906
output ("memset (" );
4894
4907
output_data (x );
@@ -5773,15 +5786,11 @@ output_initialize (struct cb_initialize *p)
5773
5786
case INITIALIZE_DEFAULT :
5774
5787
c = initialize_uniform_char (f , p );
5775
5788
if (c != -1 ) {
5776
- if ((cb_tree_type (CB_TREE (f ), f ) == COB_TYPE_NATIONAL ) && (c == ' ' )) {
5777
- output_move (cb_space , p -> var );
5778
- } else {
5779
- if (p -> statement == STMT_INIT_STORAGE ) {
5780
- output_init_comment_and_source_ref (f );
5781
- }
5782
- output_initialize_uniform (p -> var , f , (unsigned char )c , f -> size );
5783
- output_initialize_chaining (f , p );
5789
+ if (p -> statement == STMT_INIT_STORAGE ) {
5790
+ output_init_comment_and_source_ref (f );
5784
5791
}
5792
+ output_initialize_uniform (p -> var , f , (unsigned char )c , f -> size );
5793
+ output_initialize_chaining (f , p );
5785
5794
return ;
5786
5795
}
5787
5796
/* Fall through */
0 commit comments