123456789101112131415161718192021222324252627282930313233343536373839 |
- /* Test case by Joseph S. Myers <jsm28@cam.ac.uk>. */
- #undef __USE_STRING_INLINES
- #define __USE_STRING_INLINES
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <libc-diag.h>
- char d[3] = "\0\1\2";
- int
- main (void)
- {
- DIAG_PUSH_NEEDS_COMMENT;
- #if __GNUC_PREREQ (8, 0)
- /* GCC 8 warns about strncat truncating output; this is deliberately
- tested here. */
- DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-truncation");
- #endif
- strncat (d, "\5\6", 1);
- DIAG_POP_NEEDS_COMMENT;
- if (d[0] != '\5')
- {
- puts ("d[0] != '\\5'");
- exit (1);
- }
- if (d[1] != '\0')
- {
- puts ("d[1] != '\\0'");
- exit (1);
- }
- if (d[2] != '\2')
- {
- puts ("d[2] != '\\2'");
- exit (1);
- }
- return 0;
- }
|