Unconditionally call __gconv_get_path when reading iconv configuration
Commit Message
__gconv_read_conf is only ever called once during the program's lifetime.
This means that __gconv_path_elem is always uninitialized when the function
begins executing. __gconv_get_path has an assert to ensure that this
expected runtime behaviour is always exhibited. Given this, checking for a
NULL value before calling __gconv_get_path is unnecessary. This commit
drops the condition and calls __gconv_get_path unconditionally.
ChangeLog:
2018-11-01 Arjun Shankar <arjun@redhat.com>
* iconv/gconv_conf.c (__gconv_read_conf): Remove NULL check for
__gconv_path_elem and call __gconv_get_path unconditionally.
Tested on x86_64.
---
Comments
* Arjun Shankar:
> __gconv_read_conf is only ever called once during the program's lifetime.
> This means that __gconv_path_elem is always uninitialized when the function
> begins executing. __gconv_get_path has an assert to ensure that this
> expected runtime behaviour is always exhibited. Given this, checking for a
> NULL value before calling __gconv_get_path is unnecessary. This commit
> drops the condition and calls __gconv_get_path unconditionally.
>
> ChangeLog:
>
> 2018-11-01 Arjun Shankar <arjun@redhat.com>
>
> * iconv/gconv_conf.c (__gconv_read_conf): Remove NULL check for
> __gconv_path_elem and call __gconv_get_path unconditionally.
This is okay.
Thanks,
Florian
@@ -552,8 +552,7 @@ __gconv_read_conf (void)
#ifndef STATIC_GCONV
/* Find out where we have to look. */
- if (__gconv_path_elem == NULL)
- __gconv_get_path ();
+ __gconv_get_path ();
for (cnt = 0; __gconv_path_elem[cnt].name != NULL; ++cnt)
{