269 ); |
269 ); |
270 |
270 |
271 /** |
271 /** |
272 * Reallocate the previously allocated block in @p mem, making the new block |
272 * Reallocate the previously allocated block in @p mem, making the new block |
273 * @p n bytes long. |
273 * @p n bytes long. |
274 * This function may return the same pointer that was passed to it, if moving |
274 * This function may return the same pointer passed to it if moving |
275 * the memory was not necessary. |
275 * the memory was not necessary. |
276 * |
276 * |
277 * @note Re-allocating a block allocated by a different allocator is undefined. |
277 * @note Re-allocating a block allocated by a different allocator is undefined. |
278 * |
278 * |
279 * @param allocator the allocator |
279 * @param allocator the allocator |
293 ); |
293 ); |
294 |
294 |
295 /** |
295 /** |
296 * Reallocate the previously allocated block in @p mem, making the new block |
296 * Reallocate the previously allocated block in @p mem, making the new block |
297 * @p n bytes long. |
297 * @p n bytes long. |
298 * This function may return the same pointer that was passed to it, if moving |
298 * This function may return the same pointer passed to it if moving |
299 * the memory was not necessary. |
299 * the memory was not necessary. |
300 * |
300 * |
301 * The size is calculated by multiplying @p nemb and @p size. |
301 * The size is calculated by multiplying @p nemb and @p size. |
302 * If that multiplication overflows, this function returns @c NULL and @c errno |
302 * If that multiplication overflows, this function returns @c NULL, and @c errno |
303 * will be set. |
303 * will be set. |
304 * |
304 * |
305 * @note Re-allocating a block allocated by a different allocator is undefined. |
305 * @note Re-allocating a block allocated by a different allocator is undefined. |
306 * |
306 * |
307 * @param allocator the allocator |
307 * @param allocator the allocator |
328 * This function acts like cxRealloc() using the pointer pointed to by @p mem. |
328 * This function acts like cxRealloc() using the pointer pointed to by @p mem. |
329 * |
329 * |
330 * @note Re-allocating a block allocated by a different allocator is undefined. |
330 * @note Re-allocating a block allocated by a different allocator is undefined. |
331 * |
331 * |
332 * @par Error handling |
332 * @par Error handling |
333 * @c errno will be set, if the underlying realloc function does so. |
333 * @c errno will be set if the underlying realloc function does so. |
334 * |
334 * |
335 * @param allocator the allocator |
335 * @param allocator the allocator |
336 * @param mem pointer to the pointer to allocated block |
336 * @param mem pointer to the pointer to allocated block |
337 * @param n the new size in bytes |
337 * @param n the new size in bytes |
338 * @retval zero success |
338 * @retval zero success |
353 * This function acts like cxRealloc() using the pointer pointed to by @p mem. |
353 * This function acts like cxRealloc() using the pointer pointed to by @p mem. |
354 * |
354 * |
355 * @note Re-allocating a block allocated by a different allocator is undefined. |
355 * @note Re-allocating a block allocated by a different allocator is undefined. |
356 * |
356 * |
357 * @par Error handling |
357 * @par Error handling |
358 * @c errno will be set, if the underlying realloc function does so. |
358 * @c errno will be set if the underlying realloc function does so. |
359 * |
359 * |
360 * @param allocator (@c CxAllocator*) the allocator |
360 * @param allocator (@c CxAllocator*) the allocator |
361 * @param mem (@c void**) pointer to the pointer to allocated block |
361 * @param mem (@c void**) pointer to the pointer to allocated block |
362 * @param n (@c size_t) the new size in bytes |
362 * @param n (@c size_t) the new size in bytes |
363 * @retval zero success |
363 * @retval zero success |