Sfoglia il codice sorgente

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).
Rich Felker 14 anni fa
parent
commit
9f19b3ec8d
1 ha cambiato i file con 1 aggiunte e 1 eliminazioni
  1. 1 1
      src/string/stpncpy.c

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