From: Mike D. Lowis Date: Sun, 7 Apr 2013 01:51:02 +0000 (-0400) Subject: Deleted NULL pointer checks from circular buffer (garbage-in, garbage-out) X-Git-Url: https://git.mdlowis.com/?a=commitdiff_plain;h=22f46fe1d1e130c1d0e922aaf9e4330c9880a5b6;p=projs%2Flibcds.git Deleted NULL pointer checks from circular buffer (garbage-in, garbage-out) --- diff --git a/premake4.lua b/premake4.lua index 2374a71..36e5da4 100644 --- a/premake4.lua +++ b/premake4.lua @@ -13,7 +13,6 @@ project "cds" language "C" location "build" files { "source/**.*" } - buildflags { "extra-warnings", "fatal-warnings", "no-symbols", "optimize" } project "tests" kind "ConsoleApp" diff --git a/source/buffer/buf.c b/source/buffer/buf.c index c210b9a..bf44e00 100644 --- a/source/buffer/buf.c +++ b/source/buffer/buf.c @@ -1,9 +1,9 @@ /** - @file buf.c - @brief See header for details - $Revision$ - $HeadURL$ -*/ + @file buf.c + @brief See header for details + $Revision$ + $HeadURL$ + */ #include #include "buf.h" @@ -23,55 +23,45 @@ buf_t* buf_new(size_t size) void buf_free(buf_t* buf, int free_contents) { - if (NULL != buf) - { - buf_clear(buf,free_contents); - free( buf->buffer ); - free( buf ); - } + buf_clear(buf,free_contents); + free( buf->buffer ); + free( buf ); } size_t buf_size(buf_t* buf) { - return (NULL == buf) ? (size_t)0 : (size_t)buf->size; + return (size_t)buf->size; } int buf_empty(buf_t* buf) { - return (NULL == buf) ? 1 : (buf->reads == buf->writes); + return (buf->reads == buf->writes); } int buf_full(buf_t* buf) { - int full = 1; - if (NULL != buf) - { - full = !buf_empty(buf); - full &= ((buf->reads % buf->size) == (buf->writes % buf->size)); - } + int full = !buf_empty(buf); + full &= ((buf->reads % buf->size) == (buf->writes % buf->size)); return full; } void buf_clear(buf_t* buf, int free_contents) { - if (NULL != buf) + if (free_contents) { - if (free_contents) + while ( !buf_empty(buf) ) { - while ( !buf_empty(buf) ) - { - free( buf_read(buf) ); - } + free( buf_read(buf) ); } - buf->reads = 0; - buf->writes = 0; } + buf->reads = 0; + buf->writes = 0; } void* buf_read(buf_t* buf) { void* data = NULL; - if ((NULL != buf) && !buf_empty(buf)) + if (!buf_empty(buf)) { data = buf->buffer[ buf->reads % buf->size ]; buf->reads++; @@ -82,7 +72,7 @@ void* buf_read(buf_t* buf) int buf_write(buf_t* buf, void* data) { int success = 0; - if ((NULL != buf) && !buf_full(buf)) + if (!buf_full(buf)) { buf->buffer[ buf->writes % buf->size ] = data; buf->writes++; diff --git a/tests/test_buf.cpp b/tests/test_buf.cpp index c22f52a..e9745dd 100644 --- a/tests/test_buf.cpp +++ b/tests/test_buf.cpp @@ -35,11 +35,6 @@ namespace { //------------------------------------------------------------------------- // Test buf_free function //------------------------------------------------------------------------- - TEST(Verify_buf_free_does_nothing_when_pointer_is_NULL) - { - buf_free( NULL, 0 ); - } - TEST(Verify_buf_free_frees_the_buffer) { buf_free( buf_new(5), 0 ); @@ -48,11 +43,6 @@ namespace { //------------------------------------------------------------------------- // Test buf_size function //------------------------------------------------------------------------- - TEST(Verify_buf_size_should_return_0_when_passed_NULL) - { - CHECK( 0 == buf_size(NULL) ); - } - TEST(Verify_buf_size_should_return_the_size_of_the_buffer) { buf_t* buf = buf_new(5); @@ -63,11 +53,6 @@ namespace { //------------------------------------------------------------------------- // Test buf_empty function //------------------------------------------------------------------------- - TEST(Verify_buf_empty_returns_1_when_passed_NULL) - { - CHECK( 1 == buf_empty( NULL ) ); - } - TEST(Verify_buf_empty_returns_1_when_buffer_is_empty) { buf_t buf = { NULL, 5, 1, 1 }; @@ -83,11 +68,6 @@ namespace { //------------------------------------------------------------------------- // Test buf_full function //------------------------------------------------------------------------- - TEST(Verify_buf_full_returns_1_if_passed_null) - { - CHECK( 1 == buf_full(NULL) ); - } - TEST(Verify_buf_full_returns_1_if_buffer_is_full) { buf_t buf = { NULL, 5, 1, 6 }; @@ -109,11 +89,6 @@ namespace { //------------------------------------------------------------------------- // Test buf_clear function //------------------------------------------------------------------------- - TEST(Verify_buf_clear_does_nothing_when_passed_null) - { - buf_clear(NULL,0); - } - TEST(Verify_buf_clears_the_buffer) { buf_t buf = { NULL, 5, 1, 5 }; @@ -136,11 +111,6 @@ namespace { //------------------------------------------------------------------------- // Test buf_read function //------------------------------------------------------------------------- - TEST(Verify_buf_read_should_return_NULL_if_passed_NULL) - { - CHECK( NULL == buf_read(NULL) ); - } - TEST(Verify_buf_read_should_return_NULL_if_buffer_is_empty) { buf_t* buf = buf_new(3); @@ -161,11 +131,6 @@ namespace { //------------------------------------------------------------------------- // Test buf_write function //------------------------------------------------------------------------- - TEST(Verify_buf_write_should_return_0_if_passed_NULL) - { - CHECK( 0 == buf_write(NULL,(void*)0x1234) ); - } - TEST(Verify_buf_write_should_return_0_if_buffer_is_full) { buf_t buf = { NULL, 3, 0, 3 };