X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Ffunctional%2Fstring_memset.c;h=405d49e4fa9f2a7c38abac4c090224261faa6f53;hb=281b80f0e70fe28356c3f0ded8b86f28a5c74d0a;hp=baea11296f325475c4be656f805d6ea0767b9e64;hpb=cc0b995f3da087706918131d46b3c7b24707fb16;p=libc-test diff --git a/src/functional/string_memset.c b/src/functional/string_memset.c index baea112..405d49e 100644 --- a/src/functional/string_memset.c +++ b/src/functional/string_memset.c @@ -11,7 +11,7 @@ static void *(*volatile pmemset)(void *, int, size_t); static char *aligned(void *p) { - return (char*)(((uintptr_t)p + 63) & -64U); + return (char*)(((uintptr_t)p + 63) & -64); } static void test_align(int align, int len) @@ -21,7 +21,7 @@ static void test_align(int align, int len) char *p; int i; - if (s - buf + len >= N) + if (len + 64 > buf + N - s || len + 64 > buf2 + N - want) abort(); for (i = 0; i < N; i++) buf[i] = buf2[i] = ' '; @@ -30,11 +30,11 @@ static void test_align(int align, int len) p = pmemset(s, '#', len); if (p != s) t_error("memset(%p,...) returned %p\n", s, p); - for (i = 0; i < N; i++) - if (buf[i] != buf2[i]) { + for (i = -64; i < len+64; i++) + if (s[i] != want[i]) { t_error("memset(align %d, '#', %d) failed at pos %d\n", align, len, i); - t_printf("got : '%.*s'\n", N, buf); - t_printf("want: '%.*s'\n", N, buf2); + t_printf("got : '%.*s'\n", len+128, s-64); + t_printf("want: '%.*s'\n", len+128, want-64); break; } }