changeset 1699:f71cd6691e05

Implement dmGrowBufGetU8().
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 05 Jun 2018 15:02:56 +0300
parents a51c2eaae9b8
children a2e65aa47554
files src/dmgrowbuf.c src/dmgrowbuf.h
diffstat 2 files changed, 22 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/dmgrowbuf.c	Tue Jun 05 12:56:23 2018 +0300
+++ b/src/dmgrowbuf.c	Tue Jun 05 15:02:56 2018 +0300
@@ -308,3 +308,23 @@
             !dmGrowBufPutU8(buf, val & 0xff);
     }
 }
+
+
+BOOL dmGrowBufGetU8(DMGrowBuf *buf, Uint8 *value)
+{
+    if (buf->backwards && buf->offs > 0)
+    {
+        *value = buf->data[buf->offs];
+        buf->offs--;
+        return TRUE;
+    }
+    else
+    if (!buf->backwards && buf->offs < buf->len)
+    {
+        *value = buf->data[buf->offs];
+        buf->offs++;
+        return TRUE;
+    }
+
+    return FALSE;
+}
--- a/src/dmgrowbuf.h	Tue Jun 05 12:56:23 2018 +0300
+++ b/src/dmgrowbuf.h	Tue Jun 05 15:02:56 2018 +0300
@@ -49,6 +49,8 @@
 BOOL   dmGrowBufPutU32BE(DMGrowBuf *buf, const Uint32 val);
 BOOL   dmGrowBufPutU32LE(DMGrowBuf *buf, const Uint32 val);
 
+BOOL   dmGrowBufGetU8(DMGrowBuf *buf, Uint8 *value);
+
 
 #ifdef __cplusplus
 }