about summary refs log tree commit diff
diff options
context:
space:
mode:
authorArjun Shankar <arjun@redhat.com>2018-09-25 15:13:15 +0200
committerArjun Shankar <arjun@redhat.com>2018-09-25 15:13:15 +0200
commit335a3b0a0d26313537eddfc26db14e33deecc433 (patch)
tree8c6ba407e589316f831254a826006337c1c1441f
parent462d348caa16843594d8f23170ba7b635d2df220 (diff)
downloadglibc-335a3b0a0d26313537eddfc26db14e33deecc433.tar.gz
glibc-335a3b0a0d26313537eddfc26db14e33deecc433.tar.xz
glibc-335a3b0a0d26313537eddfc26db14e33deecc433.zip
Clean up iconv/gconv_int.h for unnecessary declarations
The variables __gconv_path_elem, __gconv_max_path_elem_len and function
__gconv_get_path declared in, as well as the type path_elem and macro
GCONV_NCHAR_GOAL defined in gconv_int.h are all used in only one iconv
compilation unit each. In addition, the extern declaration of the variable
__gconv_nmodules refers to a variable that does not exist any more.
Considering this, these symbols do not need to be exposed via a header file.

This patch removes the extern declarations from the header file and moves
the definitions to the compilation units where they are used.
-rw-r--r--ChangeLog12
-rw-r--r--iconv/gconv_conf.c9
-rw-r--r--iconv/gconv_int.h21
-rw-r--r--iconv/gconv_open.c4
4 files changed, 24 insertions, 22 deletions
diff --git a/ChangeLog b/ChangeLog
index 81e58df2c5..3a38e4504e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2018-09-25  Arjun Shankar  <arjun@redhat.com>
+
+	* iconv/gconv_int.h (__gconv_path_elem): Remove.
+	(__gconv_max_path_elem_len): Likewise.
+	(__gconv_nmodules): Likewise.
+	(__gconv_get_path): Likewise.
+	(path_elem): Move to ...
+	* iconv/gconv_conf.c: ... here.
+	(__gconv_get_path): Mark function static.
+	* iconv/gconv_int.h (GCONV_NCHAR_GOAL): Move to ...
+	* iconv/gconv_open.c: ... here.
+
 2018-09-24  Andreas Schwab  <schwab@suse.de>
 
 	* scripts/haveversions.awk: New file.
diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c
index f173cde71b..ce9f10f3af 100644
--- a/iconv/gconv_conf.c
+++ b/iconv/gconv_conf.c
@@ -38,6 +38,13 @@
 /* This is the default path where we look for module lists.  */
 static const char default_gconv_path[] = GCONV_PATH;
 
+/* Type to represent search path.  */
+struct path_elem
+{
+  const char *name;
+  size_t len;
+};
+
 /* The path elements, as determined by the __gconv_get_path function.
    All path elements end in a slash.  */
 struct path_elem *__gconv_path_elem;
@@ -420,7 +427,7 @@ read_conf_file (const char *filename, const char *directory, size_t dir_len,
 
 
 /* Determine the directories we are looking for data in.  */
-void
+static void
 __gconv_get_path (void)
 {
   struct path_elem *result;
diff --git a/iconv/gconv_int.h b/iconv/gconv_int.h
index 3742557cae..45e47a6511 100644
--- a/iconv/gconv_int.h
+++ b/iconv/gconv_int.h
@@ -28,19 +28,6 @@
 __BEGIN_DECLS
 
 
-/* Type to represent search path.  */
-struct path_elem
-{
-  const char *name;
-  size_t len;
-};
-
-/* Variable with search path for `gconv' implementation.  */
-extern struct path_elem *__gconv_path_elem attribute_hidden;
-/* Maximum length of a single path element.  */
-extern size_t __gconv_max_path_elem_len attribute_hidden;
-
-
 /* Structure for alias definition.  Simply two strings.  */
 struct gconv_alias
 {
@@ -49,10 +36,6 @@ struct gconv_alias
 };
 
 
-/* How many character should be converted in one call?  */
-#define GCONV_NCHAR_GOAL	8160
-
-
 /* Structure describing one loaded shared object.  This normally are
    objects to perform conversation but as a special case the db shared
    object is also handled.  */
@@ -111,7 +94,6 @@ enum
 extern void *__gconv_alias_db attribute_hidden;
 
 /* Array with available modules.  */
-extern size_t __gconv_nmodules;
 extern struct gconv_module *__gconv_modules_db attribute_hidden;
 
 /* Value of the GCONV_PATH environment variable.  */
@@ -211,9 +193,6 @@ extern struct gconv_module *__gconv_get_modules_db (void);
 /* Retrieve pointer to internal alias database.  */
 extern void *__gconv_get_alias_db (void);
 
-/* Determine the directories we are looking in.  */
-extern void __gconv_get_path (void) attribute_hidden;
-
 /* Comparison function to search alias.  */
 extern int __gconv_alias_compare (const void *p1, const void *p2)
      attribute_hidden;
diff --git a/iconv/gconv_open.c b/iconv/gconv_open.c
index f739561f6e..648ec36b56 100644
--- a/iconv/gconv_open.c
+++ b/iconv/gconv_open.c
@@ -26,6 +26,10 @@
 #include <gconv_int.h>
 
 
+/* How many character should be converted in one call?  */
+#define GCONV_NCHAR_GOAL	8160
+
+
 int
 __gconv_open (const char *toset, const char *fromset, __gconv_t *handle,
 	      int flags)