Index: fusl/src/string/stpcpy.c |
diff --git a/fusl/src/string/stpcpy.c b/fusl/src/string/stpcpy.c |
index 06623c4491c4f6ebb26d7a7c664c06a4a3f54f9f..31b1323d7f7010eabcb781a501dfdd0b026586c7 100644 |
--- a/fusl/src/string/stpcpy.c |
+++ b/fusl/src/string/stpcpy.c |
@@ -4,25 +4,29 @@ |
#include "libc.h" |
#define ALIGN (sizeof(size_t)) |
-#define ONES ((size_t)-1/UCHAR_MAX) |
-#define HIGHS (ONES * (UCHAR_MAX/2+1)) |
-#define HASZERO(x) ((x)-ONES & ~(x) & HIGHS) |
+#define ONES ((size_t)-1 / UCHAR_MAX) |
+#define HIGHS (ONES * (UCHAR_MAX / 2 + 1)) |
+#define HASZERO(x) ((x)-ONES & ~(x)&HIGHS) |
-char *__stpcpy(char *restrict d, const char *restrict s) |
-{ |
- size_t *wd; |
- const size_t *ws; |
+char* __stpcpy(char* restrict d, const char* restrict s) { |
+ size_t* wd; |
+ const size_t* ws; |
- if ((uintptr_t)s % ALIGN == (uintptr_t)d % ALIGN) { |
- for (; (uintptr_t)s % ALIGN; s++, d++) |
- if (!(*d=*s)) return d; |
- wd=(void *)d; ws=(const void *)s; |
- for (; !HASZERO(*ws); *wd++ = *ws++); |
- d=(void *)wd; s=(const void *)ws; |
- } |
- for (; (*d=*s); s++, d++); |
+ if ((uintptr_t)s % ALIGN == (uintptr_t)d % ALIGN) { |
+ for (; (uintptr_t)s % ALIGN; s++, d++) |
+ if (!(*d = *s)) |
+ return d; |
+ wd = (void*)d; |
+ ws = (const void*)s; |
+ for (; !HASZERO(*ws); *wd++ = *ws++) |
+ ; |
+ d = (void*)wd; |
+ s = (const void*)ws; |
+ } |
+ for (; (*d = *s); s++, d++) |
+ ; |
- return d; |
+ return d; |
} |
weak_alias(__stpcpy, stpcpy); |