From patchwork Tue Sep 25 13:30:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arjun Shankar X-Patchwork-Id: 29532 Received: (qmail 55584 invoked by alias); 25 Sep 2018 13:31:03 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 45816 invoked by uid 89); 25 Sep 2018 13:30:56 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_PASS autolearn=ham version=3.3.2 spammy=libc-alpha, libcalpha, gconv, arjun X-HELO: aloka.lostca.se DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=lostca.se; h=date:from:to :cc:subject:message-id:mime-version:content-type; s=howrah; bh=Z J9GEC5veV5sfEoT2RYQhU9qXAc=; b=tHMfBSolzw+G0P5Vl1GWfwU+PE9s+CAQJ Sm+l2MLKkWZVyvtOf1Bv770pchULLv1WOe6nueO9fNXED4FITnesPQbKsAM6KEOL nuiaQU3tSjhjFeBaevolsmMnHCUU3KQVi/UAfdT5eFXDtFTWwuzDqEMb9z/8b4zN sVrs7rx5m0= Date: Tue, 25 Sep 2018 13:30:36 +0000 From: Arjun Shankar To: libc-alpha@sourceware.org Cc: Carlos O'Donell Subject: [COMMITTED] [PATCH] Clean up iconv/gconv_int.h for unnecessary declarations Message-ID: <20180925133036.GA35853@aloka.lostca.se> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.7.1 (2016-10-04) This patch was reviewed and okay-ed by Carlos last year [1]. I just didn't get around to committing it. Re-tested against master and committed after it passed on x86_64 without regressions. [1] https://sourceware.org/ml/libc-alpha/2017-11/msg00004.html The commit message and patch content follow: 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. 2018-09-25 Arjun Shankar * 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. --- ChangeLog | 12 ++++++++++++ iconv/gconv_conf.c | 9 ++++++++- iconv/gconv_int.h | 21 --------------------- iconv/gconv_open.c | 4 ++++ 4 files changed, 24 insertions(+), 22 deletions(-) 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 +/* 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)