Mercurial > hg > dmlib
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 }