string: Cosmetic cleanup of string functions

Message ID 1396278257-24507-1-git-send-email-will.newton@linaro.org
State Accepted
Commit 8667f90ec51aa88146dce815a9105daf23d9bd07
Headers show

Commit Message

Will Newton March 31, 2014, 3:04 p.m.
Clean up string functions that do not have a version in gnulib on
the assumption that glibc is the canonical upstream copy of this
code. basename has a copy in gnulib but it is largely written to
handle Windows paths so merging it is not really viable. The changes
mostly consist of switching to ANSI function prototypes and removing
unused includes.

As many of these functions do not get built in a typical build due
to architecture optimized versions being used instead I built these
by hand to verify there were no build warnings and the code was
identical.

2014-03-31  Will Newton  <will.newton@linaro.org>

	* string/basename.c [HAVE_CONFIG_H]: Remove #ifdef and
	and contents.  [!_LIBC] Remove #ifndef and contents.
	(basename): Use ANSI prototype.  [_LIBC] Remove #idef.
	* string/memccpy.c (__memccpy): Use ANSI prototype.
	* string/memfrob.c (memfrob): Likewise.
	* string/strcoll.c (STRCOLL): Likewise.
	* string/strlen.c (strlen): Likewise.
	* string/strtok.c (STRTOK): Likewise.
	* string/strcat.c: Remove unused #include of memcopy.h.
	(strcat): Use ANSI prototype.
	* string/strchr.c: Remove unused #include of memcopy.h.
	(strchr): Use ANSI prototype.
	* string/strcmp.c: Remove unused #include of memcopy.h.
	(strcmp): Use ANSI prototype.
	* string/strcpy.c: Remove unused #include of memcopy.h.
	(strcpy): Use ANSI prototype.
---
 string/basename.c | 16 +---------------
 string/memccpy.c  |  6 +-----
 string/memfrob.c  |  4 +---
 string/strcat.c   |  5 +----
 string/strchr.c   |  5 +----
 string/strcmp.c   |  5 +----
 string/strcoll.c  |  4 +---
 string/strcpy.c   |  5 +----
 string/strlen.c   |  3 +--
 string/strtok.c   |  4 +---
 10 files changed, 10 insertions(+), 47 deletions(-)

Comments

Florian Weimer April 1, 2014, 5:44 a.m. | #1
On 03/31/2014 05:04 PM, Will Newton wrote:

> 2014-03-31  Will Newton  <will.newton@linaro.org>
>
> 	* string/basename.c [HAVE_CONFIG_H]: Remove #ifdef and
> 	and contents.  [!_LIBC] Remove #ifndef and contents.
> 	(basename): Use ANSI prototype.  [_LIBC] Remove #idef.
> 	* string/memccpy.c (__memccpy): Use ANSI prototype.
> 	* string/memfrob.c (memfrob): Likewise.
> 	* string/strcoll.c (STRCOLL): Likewise.
> 	* string/strlen.c (strlen): Likewise.
> 	* string/strtok.c (STRTOK): Likewise.
> 	* string/strcat.c: Remove unused #include of memcopy.h.
> 	(strcat): Use ANSI prototype.
> 	* string/strchr.c: Remove unused #include of memcopy.h.
> 	(strchr): Use ANSI prototype.
> 	* string/strcmp.c: Remove unused #include of memcopy.h.
> 	(strcmp): Use ANSI prototype.
> 	* string/strcpy.c: Remove unused #include of memcopy.h.
> 	(strcpy): Use ANSI prototype.

Looks okay to me.

Patch

diff --git a/string/basename.c b/string/basename.c
index 29b84ee..98bf96c 100644
--- a/string/basename.c
+++ b/string/basename.c
@@ -16,26 +16,12 @@ 
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
 #include <string.h>
 
-#ifndef _LIBC
-/* We cannot generally use the name `basename' since XPG defines an unusable
-   variant of the function but we cannot use it.  */
-# define basename gnu_basename
-#endif
-
-
 char *
-basename (filename)
-     const char *filename;
+basename (const char *filename)
 {
   char *p = strrchr (filename, '/');
   return p ? p + 1 : (char *) filename;
 }
-#ifdef _LIBC
 libc_hidden_def (basename)
-#endif
diff --git a/string/memccpy.c b/string/memccpy.c
index 793f68e..70ee2ae 100644
--- a/string/memccpy.c
+++ b/string/memccpy.c
@@ -24,11 +24,7 @@ 
    Return the position in DEST one byte past where C was copied, or
    NULL if C was not found in the first N bytes of SRC.  */
 void *
-__memccpy (dest, src, c, n)
-      void *dest;
-      const void *src;
-      int c;
-      size_t n;
+__memccpy (void *dest, const void *src, int c, size_t n)
 {
   const char *s = src;
   char *d = dest;
diff --git a/string/memfrob.c b/string/memfrob.c
index 4841309..68339f7 100644
--- a/string/memfrob.c
+++ b/string/memfrob.c
@@ -18,9 +18,7 @@ 
 #include <string.h>
 
 void *
-memfrob (s, n)
-     void *s;
-     size_t n;
+memfrob (void *s, size_t n)
 {
   char *p = (char *) s;
 
diff --git a/string/strcat.c b/string/strcat.c
index bb7c0a9..2cbe8b3 100644
--- a/string/strcat.c
+++ b/string/strcat.c
@@ -16,15 +16,12 @@ 
    <http://www.gnu.org/licenses/>.  */
 
 #include <string.h>
-#include <memcopy.h>
 
 #undef strcat
 
 /* Append SRC on the end of DEST.  */
 char *
-strcat (dest, src)
-     char *dest;
-     const char *src;
+strcat (char *dest, const char *src)
 {
   char *s1 = dest;
   const char *s2 = src;
diff --git a/string/strchr.c b/string/strchr.c
index da69ed2..6bea03e 100644
--- a/string/strchr.c
+++ b/string/strchr.c
@@ -21,16 +21,13 @@ 
    <http://www.gnu.org/licenses/>.  */
 
 #include <string.h>
-#include <memcopy.h>
 #include <stdlib.h>
 
 #undef strchr
 
 /* Find the first occurrence of C in S.  */
 char *
-strchr (s, c_in)
-     const char *s;
-     int c_in;
+strchr (const char *s, int c_in)
 {
   const unsigned char *char_ptr;
   const unsigned long int *longword_ptr;
diff --git a/string/strcmp.c b/string/strcmp.c
index 212f20c..85b0170 100644
--- a/string/strcmp.c
+++ b/string/strcmp.c
@@ -16,7 +16,6 @@ 
    <http://www.gnu.org/licenses/>.  */
 
 #include <string.h>
-#include <memcopy.h>
 
 #undef strcmp
 
@@ -24,9 +23,7 @@ 
    greater than zero if S1 is lexicographically less than,
    equal to or greater than S2.  */
 int
-strcmp (p1, p2)
-     const char *p1;
-     const char *p2;
+strcmp (const char *p1, const char *p2)
 {
   const unsigned char *s1 = (const unsigned char *) p1;
   const unsigned char *s2 = (const unsigned char *) p2;
diff --git a/string/strcoll.c b/string/strcoll.c
index 779ba13..367ab2e 100644
--- a/string/strcoll.c
+++ b/string/strcoll.c
@@ -29,9 +29,7 @@ 
 
 
 int
-STRCOLL (s1, s2)
-     const STRING_TYPE *s1;
-     const STRING_TYPE *s2;
+STRCOLL (const STRING_TYPE *s1, const STRING_TYPE *s2)
 {
   return STRCOLL_L (s1, s2, _NL_CURRENT_LOCALE);
 }
diff --git a/string/strcpy.c b/string/strcpy.c
index f136916..caa234a 100644
--- a/string/strcpy.c
+++ b/string/strcpy.c
@@ -17,15 +17,12 @@ 
 
 #include <stddef.h>
 #include <string.h>
-#include <memcopy.h>
 
 #undef strcpy
 
 /* Copy SRC to DEST.  */
 char *
-strcpy (dest, src)
-     char *dest;
-     const char *src;
+strcpy (char *dest, const char *src)
 {
   char c;
   char *s = (char *) src;
diff --git a/string/strlen.c b/string/strlen.c
index 342c4a2..19d2b2b 100644
--- a/string/strlen.c
+++ b/string/strlen.c
@@ -26,8 +26,7 @@ 
 /* Return the length of the null-terminated string STR.  Scan for
    the null terminator quickly by testing four bytes at a time.  */
 size_t
-strlen (str)
-     const char *str;
+strlen (const char *str)
 {
   const char *char_ptr;
   const unsigned long int *longword_ptr;
diff --git a/string/strtok.c b/string/strtok.c
index 2253440..924313e 100644
--- a/string/strtok.c
+++ b/string/strtok.c
@@ -36,9 +36,7 @@  static char *olds;
 		// s = "abc\0=-def\0"
 */
 char *
-STRTOK (s, delim)
-     char *s;
-     const char *delim;
+STRTOK (char *s, const char *delim)
 {
   char *token;