]> git.mdlowis.com Git - projs/libcds.git/commitdiff
Deleted NULL pointer checks from circular buffer (garbage-in, garbage-out)
authorMike D. Lowis <mike@mdlowis.com>
Sun, 7 Apr 2013 01:51:02 +0000 (21:51 -0400)
committerMike D. Lowis <mike@mdlowis.com>
Sun, 7 Apr 2013 01:51:02 +0000 (21:51 -0400)
premake4.lua
source/buffer/buf.c
tests/test_buf.cpp

index 2374a71b6a39a7362d146682bdbd2d6c5aa445d2..36e5da4ad0de5af251195ff6181178b7809c4f60 100644 (file)
@@ -13,7 +13,6 @@ project "cds"
     language "C"
     location "build"
     files { "source/**.*" }
-    buildflags { "extra-warnings", "fatal-warnings", "no-symbols", "optimize" }
 
 project "tests"
     kind "ConsoleApp"
index c210b9aeaa50308e854cc3c80d528a1ff368de35..bf44e00e3b564f23e5becd37602b9f19f87d68f0 100644 (file)
@@ -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 <stdlib.h>
 #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++;
index c22f52a5e6ebf6d400058dd413ed9107471da726..e9745ddaae2b991f06928728d731ee6467979eb4 100644 (file)
@@ -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 };