@@ -45,7 +45,7 @@ TEST(LlvmLibcWCPNCpyTest, CopyNull) {
4545 wchar_t *res = LIBC_NAMESPACE::wcpncpy (dest, src, 1 );
4646 ASSERT_TRUE (dest[0 ] == L' \0 ' );
4747 ASSERT_TRUE (dest[1 ] == L' b' );
48- ASSERT_EQ (dest + 1 , res);
48+ ASSERT_EQ (dest, res);
4949}
5050
5151TEST (LlvmLibcWCPNCpyTest, CopyPastSrc) {
@@ -54,7 +54,7 @@ TEST(LlvmLibcWCPNCpyTest, CopyPastSrc) {
5454 wchar_t *res = LIBC_NAMESPACE::wcpncpy (dest, src, 2 );
5555 ASSERT_TRUE (dest[0 ] == L' \0 ' );
5656 ASSERT_TRUE (dest[1 ] == L' \0 ' );
57- ASSERT_EQ (dest + 2 , res);
57+ ASSERT_EQ (dest, res);
5858}
5959
6060TEST (LlvmLibcWCPNCpyTest, CopyTwoNoNull) {
@@ -72,7 +72,16 @@ TEST(LlvmLibcWCPNCpyTest, CopyTwoWithNull) {
7272 wchar_t *res = LIBC_NAMESPACE::wcpncpy (dest, src, 2 );
7373 ASSERT_TRUE (dest[0 ] == L' x' );
7474 ASSERT_TRUE (dest[1 ] == L' \0 ' );
75- ASSERT_EQ (dest + 2 , res);
75+ ASSERT_EQ (dest + 1 , res);
76+ }
77+
78+ TEST (LlvmLibcWCPNCpyTest, CopyAndFill) {
79+ wchar_t dest[] = {L' a' , L' b' , L' c' };
80+ wchar_t *res = LIBC_NAMESPACE::wcpncpy (dest, L" x" , 3 );
81+ ASSERT_TRUE (dest[0 ] == L' x' );
82+ ASSERT_TRUE (dest[1 ] == L' \0 ' );
83+ ASSERT_TRUE (dest[2 ] == L' \0 ' );
84+ ASSERT_EQ (dest + 1 , res);
7685}
7786
7887#if defined(LIBC_ADD_NULL_CHECKS) && !defined(LIBC_HAS_SANITIZER)
0 commit comments