P99

◆ P99_STRDUP

#define P99_STRDUP (   ...)    P99_STRCATS(calloc(P99_STRLENS(__VA_ARGS__) + 16, 1), __VA_ARGS__)

Concatenate all arguments.

Returns
a string that must be freed by free

The resulting replacement produced by this macro evaluates each of the arguments twice; once to compute the overall length of the new string and then again for the duplication operation.

Warning
argument 0 may be evaluated multiple times
argument 1 may be evaluated multiple times
argument 2 may be evaluated multiple times

Definition at line 180 of file p99_map.h.