in src/buffer.c [639:671]
BUFFER_HANDLE BUFFER_clone(BUFFER_HANDLE handle)
{
BUFFER_HANDLE result;
if (handle == NULL)
{
result = NULL;
}
else
{
BUFFER* suppliedBuff = handle;
BUFFER* b = malloc(sizeof(BUFFER));
if (b != NULL)
{
if (BUFFER_safemalloc(b, suppliedBuff->size) != 0)
{
free(b);
LogError("Failure: allocating temp buffer.");
result = NULL;
}
else
{
(void)memcpy(b->buffer, suppliedBuff->buffer, suppliedBuff->size);
b->size = suppliedBuff->size;
result = b;
}
}
else
{
result = NULL;
}
}
return result;
}