+
+ /* strcpy overlapping buffers test */
+ memset(dest, 'X', sizeof(dest));
+ memcpy(dest+1, small, sizeof(small));
+ p_strcpy(dest, dest+1);
+ ok(dest[0] == 's' && dest[1] == 'm' && dest[2] == 'a' && dest[3] == 'l' &&
+ dest[4] == 'l' && dest[5] == '\0' && dest[6] == '\0' && dest[7] == 'X',
+ "Unexpected return data from strcpy: 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x\n",
+ dest[0], dest[1], dest[2], dest[3], dest[4], dest[5], dest[6], dest[7]);