Kernel - Cleaning up unneeded malloc() calls
[tpg/acess2.git] / Kernel / adt.c
index 0f116f3..77c8d99 100644 (file)
@@ -1,8 +1,13 @@
 /*
+ * Acess2 Kernel
+ * 
+ * adt.c
+ * - Complex data type code
  */
 #include <acess.h>
 #include <adt.h>
 
+
 // === CODE ===
 // --- Ring Buffers ---
 tRingBuffer *RingBuffer_Create(size_t Space)
@@ -29,11 +34,13 @@ size_t RingBuffer_Read(void *Dest, tRingBuffer *Buffer, size_t Length)
                memcpy(Dest, &Buffer->Data[Buffer->Start], Length);
        }
        Buffer->Start += Length;
+       if( Buffer->Start > Buffer->Space )
+               Buffer->Start -= Buffer->Space;
        Buffer->Length -= Length;
        return Length;
 }
 
-size_t RingBuffer_Write(tRingBuffer *Buffer, void *Source, size_t Length)
+size_t RingBuffer_Write(tRingBuffer *Buffer, const void *Source, size_t Length)
 {
        size_t  bufEnd = Buffer->Start + Buffer->Length;
        size_t  endSpace = Buffer->Space - bufEnd;

UCC git Repository :: git.ucc.asn.au