linux: Use long int for syscall return value
[glibc.git] / string / bug-strncat1.c
blob65a7ed58c2ec1a1be781f9dc866a20738134686a
1 #undef __USE_STRING_INLINES
2 #define __USE_STRING_INLINES
3 #include <stdio.h>
4 #include <stdlib.h>
5 #include <string.h>
6 #include <libc-diag.h>
8 char d[3] = "\0\1\2";
10 int
11 main (void)
13 DIAG_PUSH_NEEDS_COMMENT;
14 #if __GNUC_PREREQ (8, 0)
15 /* GCC 8 warns about strncat truncating output; this is deliberately
16 tested here. */
17 DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-truncation");
18 #endif
19 strncat (d, "\5\6", 1);
20 DIAG_POP_NEEDS_COMMENT;
21 if (d[0] != '\5')
23 puts ("d[0] != '\\5'");
24 exit (1);
26 if (d[1] != '\0')
28 puts ("d[1] != '\\0'");
29 exit (1);
31 if (d[2] != '\2')
33 puts ("d[2] != '\\2'");
34 exit (1);
37 return 0;