This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 41/58] Hide internal idna functions [BZ #18822]


Hide internal idna functions to allow direct access within libc.so and
libc.a without using GOT nor PLT.

	[BZ #18822]
	* include/idna.h: New file.
	* inet/getnameinfo.c: Include <idna.h> instead of
	<libidn/idna.h>.
	(__idna_to_unicode_lzlz): Removed.
	* sysdeps/posix/getaddrinfo.c: Include <idna.h> instead of
	<libidn/idna.h>.
	(__idna_to_ascii_lz): Removed.
	(__idna_to_unicode_lzlz): Likewise.
---
 include/idna.h              | 8 ++++++++
 inet/getnameinfo.c          | 4 +---
 sysdeps/posix/getaddrinfo.c | 5 +----
 3 files changed, 10 insertions(+), 7 deletions(-)
 create mode 100644 include/idna.h

diff --git a/include/idna.h b/include/idna.h
new file mode 100644
index 0000000000..dcb271d575
--- /dev/null
+++ b/include/idna.h
@@ -0,0 +1,8 @@
+#ifndef _IDNA_H
+#include <libidn/idna.h>
+
+extern __typeof (idna_to_ascii_lz) __idna_to_ascii_lz attribute_hidden;
+extern __typeof (idna_to_unicode_lzlz ) __idna_to_unicode_lzlz
+     attribute_hidden;
+
+#endif
diff --git a/inet/getnameinfo.c b/inet/getnameinfo.c
index b41e555f3c..292e087362 100644
--- a/inet/getnameinfo.c
+++ b/inet/getnameinfo.c
@@ -73,9 +73,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #include <scratch_buffer.h>
 
 #ifdef HAVE_LIBIDN
-# include <libidn/idna.h>
-extern int __idna_to_unicode_lzlz (const char *input, char **output,
-				   int flags);
+# include <idna.h>
 #endif
 
 #ifndef min
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index ce099bdf9c..c58d54dff5 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -86,10 +86,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #include <inet/net-internal.h>
 
 #ifdef HAVE_LIBIDN
-extern int __idna_to_ascii_lz (const char *input, char **output, int flags);
-extern int __idna_to_unicode_lzlz (const char *input, char **output,
-				   int flags);
-# include <libidn/idna.h>
+# include <idna.h>
 #endif
 
 struct gaih_service
-- 
2.13.5


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]