about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2011-02-24 12:34:31 -0500
committerRich Felker <dalias@aerifal.cx>2011-02-24 12:34:31 -0500
commit9f19b3ec8dec1e9402e31172a74b72cd46d3da36 (patch)
treeeec1213b1fa6d1bc5f89bf18eccfd06e675ccbf3
parenta6238c30d169cbac6bc4c4977622242063e32270 (diff)
downloadmusl-9f19b3ec8dec1e9402e31172a74b72cd46d3da36.tar.gz
musl-9f19b3ec8dec1e9402e31172a74b72cd46d3da36.tar.xz
musl-9f19b3ec8dec1e9402e31172a74b72cd46d3da36.zip
fix backwards conditional in stpncpy
this only made the function unnecessarily slow on systems with
unaligned access, but would of course crash on systems that can't do
unaligned accesses (none of which have ports yet).
-rw-r--r--src/string/stpncpy.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/string/stpncpy.c b/src/string/stpncpy.c
index a877f5fe..473db17e 100644
--- a/src/string/stpncpy.c
+++ b/src/string/stpncpy.c
@@ -14,7 +14,7 @@ char *__stpncpy(char *d, const char *s, size_t n)
 	size_t *wd;
 	const size_t *ws;
 
-	if (((uintptr_t)s & ALIGN) != ((uintptr_t)d & ALIGN)) {
+	if (((uintptr_t)s & ALIGN) == ((uintptr_t)d & ALIGN)) {
 		for (; ((uintptr_t)s & ALIGN) && n && (*d=*s); n--, s++, d++);
 		if (!n || !*s) goto tail;
 		wd=(void *)d; ws=(const void *)s;