Message ID | mvmsi02utc4.fsf@hawking.suse.de |
---|---|
State | New |
Headers | show |
On 03/07/2016 05:48 PM, Andreas Schwab wrote: > The values are swapped. Installed as obvious. > > Andreas. > > * iconv/gconv_builtin.h ("=ascii->INTERNAL"): Correct min/max > needed arguments. What's the impact? Is it possible to write a test that shows a difference? (I just want to make sure this is not user-visible and thus does not need to be tracked in Bugzilla.) Thanks, Florian
Florian Weimer <fweimer@redhat.com> writes: > On 03/07/2016 05:48 PM, Andreas Schwab wrote: >> The values are swapped. Installed as obvious. >> >> Andreas. >> >> * iconv/gconv_builtin.h ("=ascii->INTERNAL"): Correct min/max >> needed arguments. > > What's the impact? Is it possible to write a test that shows a difference? It's not a correctness issue, just efficiency. The max_needed_to value is used in gconv_open to size the internal buffer between two steps, and the min_needed_from value has no real relevance (when __gconv_transform_ascii_internal returns __GCONV_EMPTY_INPUT, it has already consumed all of the input buffer anyway). The other two values are never used. Andreas.
On 03/08/2016 10:19 AM, Andreas Schwab wrote: > Florian Weimer <fweimer@redhat.com> writes: > >> On 03/07/2016 05:48 PM, Andreas Schwab wrote: >>> The values are swapped. Installed as obvious. >>> >>> Andreas. >>> >>> * iconv/gconv_builtin.h ("=ascii->INTERNAL"): Correct min/max >>> needed arguments. >> >> What's the impact? Is it possible to write a test that shows a difference? > > It's not a correctness issue, just efficiency. The max_needed_to value > is used in gconv_open to size the internal buffer between two steps, and > the min_needed_from value has no real relevance (when > __gconv_transform_ascii_internal returns __GCONV_EMPTY_INPUT, it has > already consumed all of the input buffer anyway). The other two values > are never used. Thank you for your detailed explanation. It answers my question. Florian
diff --git a/iconv/gconv_builtin.h b/iconv/gconv_builtin.h index 856d0a9..487aa73 100644 --- a/iconv/gconv_builtin.h +++ b/iconv/gconv_builtin.h @@ -84,7 +84,7 @@ BUILTIN_ALIAS ("OSF00010020//", "ANSI_X3.4-1968//") BUILTIN_TRANSFORMATION ("ANSI_X3.4-1968//", "INTERNAL", 1, "=ascii->INTERNAL", __gconv_transform_ascii_internal, __gconv_btwoc_ascii, - 4, 4, 1, 1) + 1, 1, 4, 4) BUILTIN_TRANSFORMATION ("INTERNAL", "ANSI_X3.4-1968//", 1, "=INTERNAL->ascii", __gconv_transform_internal_ascii, NULL, 4, 4, 1, 1)