/* strncat_size_t-1_testcase. */ /* gcc -Wall strncat_size_t-1_testcase.c -o strncat_size_t-1_testcase */ #include #include #include #include #include /* strncat_size_t-1_testcase "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor" */ int main(int argc, char **argv) { const size_t size = strlen(argv[1]); char *const buffer = malloc(size + 1); int success; buffer[0] = '\0'; strncat(buffer, argv[1], SIZE_MAX); success = strlen(buffer) == size; if (!success) { fprintf(stderr, "** result: '%s'\n", buffer); } assert(success); return success ? EXIT_SUCCESS : EXIT_FAILURE; }