Fix p_test_fail()'s va_list abuse.

p_test_fail() was passing a va_list to two separate functions with the
expectation that no reset would occur.  Refactor p_test_fail()'s callers
to instead format two strings and pass them to p_test_fail().

Add a missing parameter to an assert_u64_eq() call, which the compiler
warned about after the assertion macro refactoring.
This commit is contained in:
Jason Evans
2014-03-29 23:14:32 -07:00
parent 9480a23005
commit e3f27cfced
3 changed files with 43 additions and 22 deletions

View File

@@ -86,15 +86,9 @@ p_test(test_t* t, ...)
}
void
p_test_fail(const char *format, ...)
p_test_fail(const char *prefix, const char *message)
{
va_list ap;
va_start(ap, format);
malloc_vcprintf(NULL, NULL, format, ap);
format = va_arg(ap, const char *);
malloc_vcprintf(NULL, NULL, format, ap);
va_end(ap);
malloc_printf("\n");
malloc_cprintf(NULL, NULL, "%s%s\n", prefix, message);
test_status = test_status_fail;
}