# HG changeset patch # User Matti Hamalainen # Date 1525975259 -10800 # Node ID b2dd6a72d162751a46c3219ad753e74cd02ecb67 # Parent dcff9ac95d3f37ff4d3235c14bd46c4000723a49 Adjust semantics of growbuf and add new function. diff -r dcff9ac95d3f -r b2dd6a72d162 src/dmgrowbuf.c --- 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; diff -r dcff9ac95d3f -r b2dd6a72d162 src/dmgrowbuf.h --- 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);