[git commit master 1/1] simplify ffs* code

Peter S. Mazinger ps.m at gmx.net
Mon Mar 7 16:28:57 UTC 2011


commit: http://git.uclibc.org/uClibc/commit/?id=cda3f2658389330999ad35390ed2676a7dc37325
branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/master

Remove __libc_ffs*, unneeded

Signed-off-by: Peter S. Mazinger <ps.m at gmx.net>
---
 include/string.h    |    8 +-------
 libc/inet/rpc/svc.c |    3 ++-
 libc/string/ffs.c   |   11 ++++-------
 libc/string/ffsll.c |   14 +++++---------
 4 files changed, 12 insertions(+), 24 deletions(-)

diff --git a/include/string.h b/include/string.h
index 66f64e7..c71a85c 100644
--- a/include/string.h
+++ b/include/string.h
@@ -374,6 +374,7 @@ extern char *rindex (__const char *__s, int __c)
 /* Return the position of the first bit set in I, or 0 if none are set.
    The least-significant bit is position 1, the most-significant 32.  */
 extern int ffs (int __i) __THROW __attribute__ ((__const__));
+libc_hidden_proto(ffs)
 
 /* The following two functions are non-standard but necessary for non-32 bit
    platforms.  */
@@ -385,13 +386,6 @@ __extension__ extern int ffsll (long long int __ll)
 #  endif
 # endif
 
-#ifdef _LIBC
-extern __typeof(ffs) __libc_ffs;
-libc_hidden_proto(__libc_ffs);
-extern __typeof(ffsll) __libc_ffsll;
-libc_hidden_proto(__libc_ffsll)
-#endif
-
 /* Compare S1 and S2, ignoring case.  */
 extern int strcasecmp (__const char *__s1, __const char *__s2)
      __THROW __attribute_pure__ __nonnull ((1, 2));
diff --git a/libc/inet/rpc/svc.c b/libc/inet/rpc/svc.c
index 03b4062..b28485d 100644
--- a/libc/inet/rpc/svc.c
+++ b/libc/inet/rpc/svc.c
@@ -41,6 +41,7 @@
 
 #include <errno.h>
 #include <unistd.h>
+#include <string.h>
 #include "rpc_private.h"
 #include <rpc/svc.h>
 #include <rpc/pmap_clnt.h>
@@ -452,7 +453,7 @@ svc_getreqset (fd_set *readfds)
   setsize = _rpc_dtablesize ();
   maskp = (u_int32_t *) readfds->fds_bits;
   for (sock = 0; sock < setsize; sock += 32)
-    for (mask = *maskp++; (bit = __libc_ffs (mask)); mask ^= (1 << (bit - 1)))
+    for (mask = *maskp++; (bit = ffs (mask)); mask ^= (1 << (bit - 1)))
       svc_getreq_common (sock + bit - 1);
 }
 libc_hidden_def(svc_getreqset)
diff --git a/libc/string/ffs.c b/libc/string/ffs.c
index 4a5336d..f39d304 100644
--- a/libc/string/ffs.c
+++ b/libc/string/ffs.c
@@ -6,11 +6,9 @@
  */
 
 #include <limits.h>
-#define ffsl __something_else
-#include "_string.h"
-#undef ffsl
+#include <string.h>
   
-int __libc_ffs(int i)
+int ffs(int i)
 {
 #if 1
 	/* inlined binary search method */
@@ -51,8 +49,7 @@ int __libc_ffs(int i)
 	return n;
 #endif
 }
-libc_hidden_def(__libc_ffs)
-weak_alias(__libc_ffs,ffs)
+libc_hidden_def(ffs)
 #if ULONG_MAX == UINT_MAX
-weak_alias (__libc_ffs, ffsl)
+strong_alias_untyped(ffs, ffsl)
 #endif
diff --git a/libc/string/ffsll.c b/libc/string/ffsll.c
index 29e9ba9..a766290 100644
--- a/libc/string/ffsll.c
+++ b/libc/string/ffsll.c
@@ -18,23 +18,19 @@
    02111-1307 USA.  */
 
 #include <limits.h>
-#define ffsl __something_else
-#include "_string.h"
-#undef ffsl
+#include <string.h>
 
 /* Find the first bit set in I.  */
-int __libc_ffsll (long long int i)
+int ffsll (long long int i)
 {
   unsigned long long int x = i & -i;
 
   if (x <= 0xffffffff)
-    return __libc_ffs (i);
+    return ffs (i);
   else
-    return 32 + __libc_ffs (i >> 32);
+    return 32 + ffs (i >> 32);
 }
-libc_hidden_def(__libc_ffsll)
 
-weak_alias (__libc_ffsll, ffsll)
 #if ULONG_MAX != UINT_MAX
-weak_alias (__libc_ffsll, ffsl)
+strong_alias_untyped(ffsll, ffsl)
 #endif
-- 
1.7.3.4



More information about the uClibc-cvs mailing list