table of contents
stralloc_readyplus(3) | Library Functions Manual | stralloc_readyplus(3) |
NAME¶
stralloc_readyplus - provide space in a stralloc
SYNTAX¶
#include <libowfat/stralloc.h>
int stralloc_readyplus(stralloc* sa,size_t len);
DESCRIPTION¶
stralloc_readyplus makes sure that sa has enough space allocated to hold an additional len bytes: If sa is not allocated, stralloc_ready allocates at least len bytes of space, and returns 1. If sa is already allocated, but not enough to hold len additional bytes, stralloc_ready allocates at least sa->len+len bytes of space, copies the old string into the new space, frees the old space, and returns 1. Note that this changes sa.s.
If stralloc_readyplus runs out of memory, it leaves sa alone and returns 0.
RETURN VALUE¶
1 for success, 0 on memory allocation failure.