From 9aeaee26c91d78bccd2c471b1f2570220524b2bc Mon Sep 17 00:00:00 2001 From: Mark VanderVoord Date: Mon, 7 Dec 2015 21:41:44 -0500 Subject: [PATCH] - Cleaned up UnitPointer_Set (thanks Eric) - Cleaned up a casting warning error - Removed a couple semicolons from the end of macros SHAME! --- extras/fixture/src/unity_fixture.c | 18 +++++++++++------- src/unity.c | 4 ++-- src/unity_internals.h | 4 ++-- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/extras/fixture/src/unity_fixture.c b/extras/fixture/src/unity_fixture.c index 45a2c02..e781256 100644 --- a/extras/fixture/src/unity_fixture.c +++ b/extras/fixture/src/unity_fixture.c @@ -117,7 +117,7 @@ void UnityTestRunner(unityfunction* setup, void UnityIgnoreTest(const char * printableName, const char * group, const char * name) { - if (testSelected(name) && groupSelected(group)) + if (testSelected(name) && groupSelected(group)) { Unity.NumberOfTests++; Unity.CurrentTestIgnored = 1; @@ -291,7 +291,7 @@ typedef struct _PointerPair } PointerPair; enum {MAX_POINTERS=50}; -static PointerPair pointer_store[MAX_POINTERS]; +static PointerPair pointer_store[MAX_POINTERS+1]; static int pointer_index = 0; void UnityPointer_Init(void) @@ -302,12 +302,16 @@ void UnityPointer_Init(void) void UnityPointer_Set(void ** pointer, void * newValue) { if (pointer_index >= MAX_POINTERS) + { TEST_FAIL_MESSAGE("Too many pointers set"); - - pointer_store[pointer_index].pointer = pointer; - pointer_store[pointer_index].old_value = *pointer; - *pointer = newValue; - pointer_index++; + } + else + { + pointer_store[pointer_index].pointer = pointer; + pointer_store[pointer_index].old_value = *pointer; + *pointer = newValue; + pointer_index++; + } } void UnityPointer_UndoAllSets(void) diff --git a/src/unity.c b/src/unity.c index f49b191..205254b 100644 --- a/src/unity.c +++ b/src/unity.c @@ -188,7 +188,7 @@ void UnityPrintNumber(const _U_SINT number_to_print) } // figure out initial divisor - while (number / divisor > 9) + while ((_U_SINT)number / divisor > 9) { next_divisor = divisor * 10; if (next_divisor > divisor) @@ -200,7 +200,7 @@ void UnityPrintNumber(const _U_SINT number_to_print) // now mod and print, then divide divisor do { - UNITY_OUTPUT_CHAR((char)('0' + (number / divisor % 10))); + UNITY_OUTPUT_CHAR((char)('0' + ((_U_SINT)number / divisor % 10))); divisor /= 10; } while (divisor > 0); diff --git a/src/unity_internals.h b/src/unity_internals.h index 26d18e3..4045678 100644 --- a/src/unity_internals.h +++ b/src/unity_internals.h @@ -593,8 +593,8 @@ extern const char UnityStrErr64[]; // Basic Fail and Ignore //------------------------------------------------------- -#define UNITY_TEST_FAIL(line, message) UnityFail( (message), (UNITY_LINE_TYPE)(line)); -#define UNITY_TEST_IGNORE(line, message) UnityIgnore( (message), (UNITY_LINE_TYPE)(line)); +#define UNITY_TEST_FAIL(line, message) UnityFail( (message), (UNITY_LINE_TYPE)(line)) +#define UNITY_TEST_IGNORE(line, message) UnityIgnore( (message), (UNITY_LINE_TYPE)(line)) //------------------------------------------------------- // Test Asserts -- GitLab