staticint trigger_strncmp(conststruct strncmp_test *skel)
{ int cmp;
usleep(1);
cmp = skel->bss->cmp_ret; if (cmp > 0) return 1; if (cmp < 0) return -1; return 0;
}
/* * Compare str and target after making str[i] != target[i]. * When exp is -1, make str[i] < target[i] and delta = -1.
*/ staticvoid strncmp_full_str_cmp(struct strncmp_test *skel, constchar *name, int exp)
{
size_t nr = sizeof(skel->bss->str); char *str = skel->bss->str; int delta = exp; int got;
size_t i;
memcpy(str, skel->rodata->target, nr); for (i = 0; i < nr - 1; i++) {
str[i] += delta;
void test_test_strncmp(void)
{ if (test__start_subtest("strncmp_ret"))
test_strncmp_ret(); if (test__start_subtest("strncmp_bad_not_const_str_size"))
test_strncmp_bad_not_const_str_size(); if (test__start_subtest("strncmp_bad_writable_target"))
test_strncmp_bad_writable_target(); if (test__start_subtest("strncmp_bad_not_null_term_target"))
test_strncmp_bad_not_null_term_target();
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.