iconv: Remove public declaration of __gconv_transliterate
Commit Message
Commit ba7b4d294b01870ce3497971e9d07ee261cdc540 ("Complete the
removal of __gconv_translit_find") added a declaration of the
GLIBC_PRIVATE function, __gconv_transliterate, to the installed
header <gconv.h>. It should have been added to the internal
<gconv_int.h> header.
2019-05-14 Florian Weimer <fweimer@redhat.com>
* iconv/gconv.h (__gconv_transliterate): Move declaration …
* iconv/gconv_int.h (__gconv_transliterate): … here.
* iconv/loop.c: Include <iconv/gconv_int.h> instead of <gconv.h>.
* iconv/skeleton.c: Likewise.
Comments
On 5/14/19 2:37 PM, Florian Weimer wrote:
> Commit ba7b4d294b01870ce3497971e9d07ee261cdc540 ("Complete the
> removal of __gconv_translit_find") added a declaration of the
> GLIBC_PRIVATE function, __gconv_transliterate, to the installed
> header <gconv.h>. It should have been added to the internal
> <gconv_int.h> header.
>
> 2019-05-14 Florian Weimer <fweimer@redhat.com>
>
> * iconv/gconv.h (__gconv_transliterate): Move declaration …
> * iconv/gconv_int.h (__gconv_transliterate): … here.
> * iconv/loop.c: Include <iconv/gconv_int.h> instead of <gconv.h>.
> * iconv/skeleton.c: Likewise.
>
OK for master. Thanks for continuing to clean this up.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
> diff --git a/iconv/gconv.h b/iconv/gconv.h
> index 12fd775604..5ad26c06ac 100644
> --- a/iconv/gconv.h
> +++ b/iconv/gconv.h
> @@ -142,13 +142,4 @@ typedef struct __gconv_info
> __extension__ struct __gconv_step_data __data[0];
> } *__gconv_t;
>
> -/* Transliteration using the locale's data. */
> -extern int __gconv_transliterate (struct __gconv_step *step,
> - struct __gconv_step_data *step_data,
> - const unsigned char *inbufstart,
> - const unsigned char **inbufp,
> - const unsigned char *inbufend,
> - unsigned char **outbufstart,
> - size_t *irreversible);
OK.
> -
> #endif /* gconv.h */
> diff --git a/iconv/gconv_int.h b/iconv/gconv_int.h
> index 4635bee54d..ea41d6feaa 100644
> --- a/iconv/gconv_int.h
> +++ b/iconv/gconv_int.h
> @@ -223,6 +223,14 @@ extern void __gconv_get_builtin_trans (const char *name,
> struct __gconv_step *step)
> attribute_hidden;
>
> +/* Transliteration using the locale's data. */
> +extern int __gconv_transliterate (struct __gconv_step *step,
> + struct __gconv_step_data *step_data,
> + const unsigned char *inbufstart,
> + const unsigned char **inbufp,
> + const unsigned char *inbufend,
> + unsigned char **outbufstart,
> + size_t *irreversible);
OK. Prototype.
> libc_hidden_proto (__gconv_transliterate)
^^^^^^^ The plt bypass part (if required, and already there).
>
> /* If NAME is an codeset alias expand it. */
> diff --git a/iconv/loop.c b/iconv/loop.c
> index 316bbf62b7..fa98c1a521 100644
> --- a/iconv/loop.c
> +++ b/iconv/loop.c
> @@ -49,7 +49,7 @@
>
> #include <assert.h>
> #include <endian.h>
> -#include <gconv.h>
> +#include <iconv/gconv_int.h>
OK. Gives you the PLT bypassing version of the function.
> #include <stdint.h>
> #include <string.h>
> #include <wchar.h>
> diff --git a/iconv/skeleton.c b/iconv/skeleton.c
> index d98a78acc2..cc39fdcc70 100644
> --- a/iconv/skeleton.c
> +++ b/iconv/skeleton.c
> @@ -133,7 +133,7 @@
> */
>
> #include <assert.h>
> -#include <gconv.h>
> +#include <iconv/gconv_int.h>
OK.
> #include <string.h>
> #define __need_size_t
> #define __need_NULL
>
@@ -142,13 +142,4 @@ typedef struct __gconv_info
__extension__ struct __gconv_step_data __data[0];
} *__gconv_t;
-/* Transliteration using the locale's data. */
-extern int __gconv_transliterate (struct __gconv_step *step,
- struct __gconv_step_data *step_data,
- const unsigned char *inbufstart,
- const unsigned char **inbufp,
- const unsigned char *inbufend,
- unsigned char **outbufstart,
- size_t *irreversible);
-
#endif /* gconv.h */
@@ -223,6 +223,14 @@ extern void __gconv_get_builtin_trans (const char *name,
struct __gconv_step *step)
attribute_hidden;
+/* Transliteration using the locale's data. */
+extern int __gconv_transliterate (struct __gconv_step *step,
+ struct __gconv_step_data *step_data,
+ const unsigned char *inbufstart,
+ const unsigned char **inbufp,
+ const unsigned char *inbufend,
+ unsigned char **outbufstart,
+ size_t *irreversible);
libc_hidden_proto (__gconv_transliterate)
/* If NAME is an codeset alias expand it. */
@@ -49,7 +49,7 @@
#include <assert.h>
#include <endian.h>
-#include <gconv.h>
+#include <iconv/gconv_int.h>
#include <stdint.h>
#include <string.h>
#include <wchar.h>
@@ -133,7 +133,7 @@
*/
#include <assert.h>
-#include <gconv.h>
+#include <iconv/gconv_int.h>
#include <string.h>
#define __need_size_t
#define __need_NULL