Mercurial > hg > dmlib
changeset 1458:b2dd6a72d162
Adjust semantics of growbuf and add new function.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Thu, 10 May 2018 21:00:59 +0300 |
parents | dcff9ac95d3f |
children | 1155f4bc4afc |
files | src/dmgrowbuf.c src/dmgrowbuf.h |
diffstat | 2 files changed, 19 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/dmgrowbuf.c Thu May 10 19:58:52 2018 +0300 +++ b/src/dmgrowbuf.c Thu May 10 21:00:59 2018 +0300 @@ -7,7 +7,18 @@ #include "dmgrowbuf.h" -int dmGrowBufInit(DMGrowBuf *buf, const size_t initial, const size_t mingrow) +int dmGrowBufInit(DMGrowBuf *buf) +{ + if (buf == NULL) + return DMERR_NULLPTR; + + memset(buf, 0, sizeof(DMGrowBuf)); + + return DMERR_OK; +} + + +int dmGrowBufAlloc(DMGrowBuf *buf, const size_t initial, const size_t mingrow) { if (buf == NULL) return DMERR_NULLPTR; @@ -24,14 +35,16 @@ } -int dmGrowBufAlloc(DMGrowBuf **pbuf, const size_t initial, const size_t mingrow) +int dmGrowBufNew(DMGrowBuf **pbuf, const size_t initial, const size_t mingrow) { int res; + if (pbuf == NULL) + return DMERR_NULLPTR; if ((*pbuf = dmMalloc0(sizeof(DMGrowBuf))) == NULL) return DMERR_MALLOC; - if ((res = dmGrowBufInit(*pbuf, initial, mingrow)) != DMERR_OK) + if ((res = dmGrowBufAlloc(*pbuf, initial, mingrow)) != DMERR_OK) { dmGrowBufFree(*pbuf); return res;
--- a/src/dmgrowbuf.h Thu May 10 19:58:52 2018 +0300 +++ b/src/dmgrowbuf.h Thu May 10 21:00:59 2018 +0300 @@ -21,8 +21,9 @@ } DMGrowBuf; -int dmGrowBufInit(DMGrowBuf *buf, const size_t initial, const size_t mingrow); -int dmGrowBufAlloc(DMGrowBuf **pbuf, const size_t initial, const size_t mingrow); +int dmGrowBufInit(DMGrowBuf *buf); +int dmGrowBufAlloc(DMGrowBuf *buf, const size_t initial, const size_t mingrow); +int dmGrowBufNew(DMGrowBuf **pbuf, const size_t initial, const size_t mingrow); void dmGrowBufFree(DMGrowBuf *buf); BOOL dmGrowBufGrow(DMGrowBuf *buf, const size_t amount); BOOL dmGrowBufCheckGrow(DMGrowBuf *buf, const size_t nsize);