aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2016-04-01 18:33:03 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2016-04-01 18:33:03 -0300
commit2e51bc3813ca3fe72fd197d08d79496e46669f43 (patch)
tree568b95b4c3761cd712b6d16092998335852a2606
parent344303f3cfc072469c7c32de90952871c108afd5 (diff)
downloadglibc-2e51bc3813ca3fe72fd197d08d79496e46669f43.zip
glibc-2e51bc3813ca3fe72fd197d08d79496e46669f43.tar.gz
glibc-2e51bc3813ca3fe72fd197d08d79496e46669f43.tar.bz2
Use PTR_ALIGN_DOWN on strcspn and strspn
Tested on aarch64. * string/strcspn.c (strcspn): Use PTR_ALIGN_DOWN. * string/strspn.c (strspn): Likewise.
-rw-r--r--ChangeLog5
-rw-r--r--string/strcspn.c3
-rw-r--r--string/strspn.c4
3 files changed, 10 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index fc86116..c181042 100644
--- 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
diff --git a/string/strcspn.c b/string/strcspn.c
index c535dd1..0e01193 100644
--- a/string/strcspn.c
+++ b/string/strcspn.c
@@ -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
diff --git a/string/strspn.c b/string/strspn.c
index f98340b..86f76ea 100644
--- a/string/strspn.c
+++ b/string/strspn.c
@@ -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;