Use PTR_ALIGN_DOWN on strcspn and strspn
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Fri, 1 Apr 2016 21:33:03 +0000 (18:33 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Fri, 1 Apr 2016 21:33:03 +0000 (18:33 -0300)
Tested on aarch64.

* string/strcspn.c (strcspn): Use PTR_ALIGN_DOWN.
* string/strspn.c (strspn): Likewise.

ChangeLog
string/strcspn.c
string/strspn.c

index fc86116..c181042 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2016-04-01  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+       * string/strcspn.c (strcspn): Use PTR_ALIGN_DOWN.
+       * string/strspn.c (strspn): Likewise.
+
 2016-04-01   H.J. Lu  <hongjiu.lu@intel.com>
 
        * benchtests/bench-memset.c (do_test): Support 64-byte
index c535dd1..0e01193 100644 (file)
@@ -17,6 +17,7 @@
 
 #include <string.h>
 #include <stdint.h>
+#include <libc-internal.h>
 
 #undef strcspn
 
@@ -52,7 +53,7 @@ STRCSPN (const char *str, const char *reject)
   if (p[s[2]]) return 2;
   if (p[s[3]]) return 3;
 
-  s = (unsigned char *) ((uintptr_t)(s) & ~3);
+  s = (unsigned char *) PTR_ALIGN_DOWN (s, 4);
 
   unsigned int c0, c1, c2, c3;
   do
index f98340b..86f76ea 100644 (file)
@@ -17,6 +17,7 @@
 
 #include <string.h>
 #include <stdint.h>
+#include <libc-internal.h>
 
 #undef strspn
 #ifndef STRSPN
@@ -58,7 +59,8 @@ STRSPN (const char *str, const char *accept)
   if (!p[s[2]]) return 2;
   if (!p[s[3]]) return 3;
 
-  s = (unsigned char *) ((uintptr_t)(s) & ~3);
+  s = (unsigned char *) PTR_ALIGN_DOWN (s, 4);
+
   unsigned int c0, c1, c2, c3;
   do {
       s += 4;