@@ -1119,8 +1119,8 @@ end subroutine array_callback_func
1119
1119
! 6 = sign + leading 0 + decimal + 'E' + exponent sign + 1 extra
1120
1120
integer (IK),parameter :: max_numeric_str_len = real_precision + real_exponent_digits + 6
1121
1121
! real format set by library initialization
1122
- character (kind= CDK,len=* ),parameter :: int_fmt = ' (I0)' ! minimum width format for integers
1123
- character (kind= CK, len=* ),parameter :: star = ' *' ! for invalid numbers
1122
+ character (kind= CDK,len=* ),parameter :: int_fmt = ' (ss, I0)' ! minimum width format for integers
1123
+ character (kind= CK, len=* ),parameter :: star = ' *' ! for invalid numbers
1124
1124
1125
1125
! real string printing:
1126
1126
character (kind= CDK,len= :),allocatable :: real_fmt ! the format string to use for real numbers
@@ -2153,13 +2153,13 @@ subroutine json_initialize(verbose,compact_reals)
2153
2153
! set the default output/input format for reals:
2154
2154
! [this only needs to be done once, since it can't change]
2155
2155
if (.not. allocated (real_fmt)) then
2156
- write (w,' (I0)' ,iostat= istat) max_numeric_str_len
2157
- if (istat== 0 ) write (d,' (I0)' ,iostat= istat) real_precision
2158
- if (istat== 0 ) write (e,' (I0)' ,iostat= istat) real_exponent_digits
2156
+ write (w,' (ss, I0)' ,iostat= istat) max_numeric_str_len
2157
+ if (istat== 0 ) write (d,' (ss, I0)' ,iostat= istat) real_precision
2158
+ if (istat== 0 ) write (e,' (ss, I0)' ,iostat= istat) real_exponent_digits
2159
2159
if (istat== 0 ) then
2160
- real_fmt = ' (E' // trim (w) // ' .' // trim (d) // ' E' // trim (e) // ' )'
2160
+ real_fmt = ' (ss, E' // trim (w) // ' .' // trim (d) // ' E' // trim (e) // ' )'
2161
2161
else
2162
- real_fmt = ' (E30.16E3)' ! just use this one (should never happen)
2162
+ real_fmt = ' (ss, E30.16E3)' ! just use this one (should never happen)
2163
2163
end if
2164
2164
end if
2165
2165
0 commit comments