* allocated memory. On failure, 'ptrptr' and 'countptr' are not
* changed. Any newly allocated memory in 'ptrptr' is zero-filled.
*
- * Returns zero on success, aborts on OOM
+ * Aborts on OOM
*/
-int virExpandN(void *ptrptr,
- size_t size,
- size_t *countptr,
- size_t add)
+void virExpandN(void *ptrptr,
+ size_t size,
+ size_t *countptr,
+ size_t add)
{
if (*countptr + add < *countptr)
abort();
abort();
memset(*(char **)ptrptr + (size * *countptr), 0, size * add);
*countptr += add;
- return 0;
}
/**
if (inPlace) {
*countptr += add;
} else {
- if (virExpandN(ptrptr, size, countptr, add) < 0)
- abort();
+ virExpandN(ptrptr, size, countptr, add);
}
/* memory was successfully re-allocated. Move up all elements from
/* Don't call these directly - use the macros below */
int virReallocN(void *ptrptr, size_t size, size_t count)
ATTRIBUTE_NONNULL(1);
-int virExpandN(void *ptrptr, size_t size, size_t *count, size_t add)
+void virExpandN(void *ptrptr, size_t size, size_t *count, size_t add)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(3);
void virResizeN(void *ptrptr, size_t size, size_t *alloc, size_t count, size_t desired)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(3);
*
* This macro is safe to use on arguments with side effects.
*
- * Returns 0 on success, aborts on OOM
+ * Aborts on OOM
*/
#define VIR_EXPAND_N(ptr, count, add) virExpandN(&(ptr), sizeof(*(ptr)), &(count), add)