338 const CxAllocator *alloc, |
338 const CxAllocator *alloc, |
339 cxmutstr *str |
339 cxmutstr *str |
340 ); |
340 ); |
341 |
341 |
342 /** |
342 /** |
|
343 * Copies a string. |
|
344 * |
|
345 * The memory in the @p dest structure is either allocated or re-allocated to fit the entire |
|
346 * source string, including a zero-terminator. |
|
347 * |
|
348 * The string in @p dest is guaranteed to be zero-terminated, regardless of whether @p src is. |
|
349 * |
|
350 * @param alloc the allocator |
|
351 * @param dest a pointer to the structure where to copy the contents to |
|
352 * @param src the source string |
|
353 * |
|
354 * @retval zero success |
|
355 * @retval non-zero if re-allocation failed |
|
356 */ |
|
357 cx_attr_nonnull_arg(1) |
|
358 cx_attr_export |
|
359 int cx_strcpy_a( |
|
360 const CxAllocator *alloc, |
|
361 cxmutstr *dest, |
|
362 cxstring src |
|
363 ); |
|
364 |
|
365 |
|
366 /** |
|
367 * Copies a string. |
|
368 * |
|
369 * The memory in the @p dest structure is either allocated or re-allocated to fit the entire |
|
370 * source string, including a zero-terminator. |
|
371 * |
|
372 * The string in @p dest is guaranteed to be zero-terminated, regardless of whether @p src is. |
|
373 * |
|
374 * @param alloc (@c CxAllocator*) the allocator |
|
375 * @param dest (@c cxmutstr*) a pointer to the structure where to copy the contents to |
|
376 * @param src (@c cxstring) the source string |
|
377 * |
|
378 * @retval zero success |
|
379 * @retval non-zero if re-allocation failed |
|
380 */ |
|
381 #define cx_strcpy(dest, src) cx_strcpy_a(cxDefaultAllocator, dest, src) |
|
382 |
|
383 /** |
343 * Returns the accumulated length of all specified strings. |
384 * Returns the accumulated length of all specified strings. |
344 * |
385 * |
345 * If this sum overflows, errno is set to EOVERFLOW. |
386 * If this sum overflows, errno is set to EOVERFLOW. |
346 * |
387 * |
347 * @attention if the count argument is larger than the number of the |
388 * @attention if the count argument is larger than the number of the |