diff --git a/extras/fixture/src/unity_fixture.c b/extras/fixture/src/unity_fixture.c index b20657d8631360ddb465c5ab2ee8a5c564254a3b..f9479bc7c02621b201d3f75a379f74067db37491 100644 --- a/extras/fixture/src/unity_fixture.c +++ b/extras/fixture/src/unity_fixture.c @@ -299,15 +299,14 @@ void* unity_realloc(void* oldMem, size_t size) //-------------------------------------------------------- //Automatic pointer restoration functions -typedef struct _PointerPair +struct PointerPair { - struct _PointerPair* next; void** pointer; void* old_value; -} PointerPair; +}; -enum {MAX_POINTERS=50}; -static PointerPair pointer_store[MAX_POINTERS+1]; +enum { MAX_POINTERS = 50 }; +static struct PointerPair pointer_store[MAX_POINTERS]; static int pointer_index = 0; void UnityPointer_Init(void) @@ -315,11 +314,11 @@ void UnityPointer_Init(void) pointer_index = 0; } -void UnityPointer_Set(void** pointer, void* newValue) +void UnityPointer_Set(void** pointer, void* newValue, UNITY_LINE_TYPE line) { if (pointer_index >= MAX_POINTERS) { - TEST_FAIL_MESSAGE("Too many pointers set"); + UNITY_TEST_FAIL(line, "Too many pointers set"); } else { diff --git a/extras/fixture/src/unity_fixture.h b/extras/fixture/src/unity_fixture.h index 57c88688836daad06e5eb686f4515cb0329ceda3..0d51af2cb223c192e05d014869970d6bd2786263 100644 --- a/extras/fixture/src/unity_fixture.h +++ b/extras/fixture/src/unity_fixture.h @@ -64,7 +64,7 @@ int UnityMain(int argc, const char* argv[], void (*runAllTests)(void)); TEST_##group##_GROUP_RUNNER(); } //CppUTest Compatibility Macros -#define UT_PTR_SET(ptr, newPointerValue) UnityPointer_Set((void**)&(ptr), (void*)(newPointerValue)) +#define UT_PTR_SET(ptr, newPointerValue) UnityPointer_Set((void**)&(ptr), (void*)(newPointerValue), __LINE__) #define TEST_ASSERT_POINTERS_EQUAL(expected, actual) TEST_ASSERT_EQUAL_PTR((expected), (actual)) #define TEST_ASSERT_BYTES_EQUAL(expected, actual) TEST_ASSERT_EQUAL_HEX8(0xff & (expected), 0xff & (actual)) #define FAIL(message) TEST_FAIL_MESSAGE((message)) diff --git a/extras/fixture/src/unity_fixture_internals.h b/extras/fixture/src/unity_fixture_internals.h index 1c4fcff65ba154c2d463940db297703611aba20b..f2625ab7633238db0604c5be1f578d90badc38f2 100644 --- a/extras/fixture/src/unity_fixture_internals.h +++ b/extras/fixture/src/unity_fixture_internals.h @@ -34,7 +34,7 @@ UNITY_COUNTER_TYPE UnityTestsCount(void); int UnityGetCommandLineOptions(int argc, const char* argv[]); void UnityConcludeFixtureTest(void); -void UnityPointer_Set(void** ptr, void* newValue); +void UnityPointer_Set(void** ptr, void* newValue, UNITY_LINE_TYPE line); void UnityPointer_UndoAllSets(void); void UnityPointer_Init(void);