Browse Source

simplify ffs* code

Remove __libc_ffs*, unneeded

Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Peter S. Mazinger 13 years ago
parent
commit
cda3f26583
4 changed files with 12 additions and 24 deletions
  1. 1 7
      include/string.h
  2. 2 1
      libc/inet/rpc/svc.c
  3. 4 7
      libc/string/ffs.c
  4. 5 9
      libc/string/ffsll.c

+ 1 - 7
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));

+ 2 - 1
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)

+ 4 - 7
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

+ 5 - 9
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