From 166927fd410823eec8a7b2472463db51e0e6fef5 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Tue, 12 Nov 2019 22:32:48 +0000 Subject: upstream: add xvasprintf() OpenBSD-Commit-ID: e5e3671c05c121993b034db935bce1a7aa372247 --- xmalloc.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'xmalloc.c') diff --git a/xmalloc.c b/xmalloc.c index 9cd0127dd..b48d33bbf 100644 --- a/xmalloc.c +++ b/xmalloc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: xmalloc.c,v 1.35 2019/06/06 05:13:13 otto Exp $ */ +/* $OpenBSD: xmalloc.c,v 1.36 2019/11/12 22:32:48 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -95,6 +95,17 @@ xstrdup(const char *str) return cp; } +int +xvasprintf(char **ret, const char *fmt, va_list ap) +{ + int i; + + i = vasprintf(ret, fmt, ap); + if (i < 0 || *ret == NULL) + fatal("xvasprintf: could not allocate memory"); + return i; +} + int xasprintf(char **ret, const char *fmt, ...) { @@ -102,11 +113,7 @@ xasprintf(char **ret, const char *fmt, ...) int i; va_start(ap, fmt); - i = vasprintf(ret, fmt, ap); + i = xvasprintf(ret, fmt, ap); va_end(ap); - - if (i < 0 || *ret == NULL) - fatal("xasprintf: could not allocate memory"); - - return (i); + return i; } -- cgit v1.2.3