# HG changeset patch # User Matti Hamalainen # Date 1528200176 -10800 # Node ID f71cd6691e05e6469298ea193e49b1408bb5c084 # Parent a51c2eaae9b830f9975fe7e84a727989d6e34a5b Implement dmGrowBufGetU8(). diff -r a51c2eaae9b8 -r f71cd6691e05 src/dmgrowbuf.c --- 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; +} diff -r a51c2eaae9b8 -r f71cd6691e05 src/dmgrowbuf.h --- 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 }