Mercurial > illumos > git > illumos-gate
view usr/src/tools/smatch/src/utils.c @ 19241:79022555a4a9
11972 resync smatch
Reviewed by: Robert Mustacchi <rm@fingolfin.org>
Approved by: Dan McDonald <danmcd@joyent.com>
author | John Levon <john.levon@joyent.com> |
---|---|
date | Mon, 11 Nov 2019 16:23:50 +0000 |
parents | |
children |
line wrap: on
line source
// SPDX-License-Identifier: MIT // Copyright (C) 2018 Luc Van Oostenryck #include "utils.h" #include "allocate.h" #include <string.h> #include <stdarg.h> #include <stdio.h> void *xmemdup(const void *src, size_t len) { return memcpy(__alloc_bytes(len), src, len); } char *xstrdup(const char *src) { return xmemdup(src, strlen(src) + 1); } char *xvasprintf(const char *fmt, va_list ap) { va_list ap2; char *str; int n; va_copy(ap2, ap); n = vsnprintf(NULL, 0, fmt, ap2) + 1; va_end(ap2); str = __alloc_bytes(n); vsnprintf(str, n, fmt, ap); return str; } char *xasprintf(const char *fmt, ...) { va_list ap; char *str; va_start(ap, fmt); str = xvasprintf(fmt, ap); va_end(ap); return str; }