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);