modernc.org/cc@v1.0.1/testdata/gcc-6.3.0/gcc/testsuite/gcc.c-torture/execute/builtins/lib/strncpy.c (about) 1 extern void abort(void); 2 extern int inside_main; 3 4 typedef __SIZE_TYPE__ size_t; 5 6 __attribute__ ((__noinline__)) 7 char * 8 strncpy(char *s1, const char *s2, size_t n) 9 { 10 char *dest = s1; 11 #ifdef __OPTIMIZE__ 12 if (inside_main) 13 abort(); 14 #endif 15 for (; *s2 && n; n--) 16 *s1++ = *s2++; 17 while (n--) 18 *s1++ = 0; 19 return dest; 20 } 21