1 // SPDX-License-Identifier: MIT
2 // Copyright (C) 2018 Luc Van Oostenryck
11 void *xmemdup(const void *src
, size_t len
)
13 return memcpy(__alloc_bytes(len
), src
, len
);
16 char *xstrdup(const char *src
)
18 return xmemdup(src
, strlen(src
) + 1);
21 char *xvasprintf(const char *fmt
, va_list ap
)
28 n
= vsnprintf(NULL
, 0, fmt
, ap2
) + 1;
31 str
= __alloc_bytes(n
);
32 vsnprintf(str
, n
, fmt
, ap
);
37 char *xasprintf(const char *fmt
, ...)
43 str
= xvasprintf(fmt
, ap
);