blob: 8658a54087e84411c67416bfb6854ec1ff8b3b44 [file] [log] [blame]
Robert Grieblefd49832002-07-19 20:27:11 +00001/*
"Vladimir N. Oleynik"39a841c2005-09-29 16:18:57 +00002 Copyright (C) 2002,2005 Vladimir Oleynik <dzo@simtreas.ru>
Robert Grieblefd49832002-07-19 20:27:11 +00003*/
4
5#include <stdlib.h>
6#include <stdio.h>
7#include <stdarg.h>
Manuel Novoa III 4d0884a2002-09-12 14:52:26 +00008#include "libbb.h"
Robert Grieblefd49832002-07-19 20:27:11 +00009
"Vladimir N. Oleynik"39a841c2005-09-29 16:18:57 +000010char *bb_xasprintf(const char *format, ...)
Robert Grieblefd49832002-07-19 20:27:11 +000011{
Manuel Novoa III cad53642003-03-19 09:13:01 +000012 va_list p;
13 int r;
"Vladimir N. Oleynik"39a841c2005-09-29 16:18:57 +000014 char *string_ptr;
Eric Andersenc7bda1c2004-03-15 08:29:22 +000015
Manuel Novoa III cad53642003-03-19 09:13:01 +000016 va_start(p, format);
"Vladimir N. Oleynik"39a841c2005-09-29 16:18:57 +000017 r = vasprintf(&string_ptr, format, p);
Manuel Novoa III cad53642003-03-19 09:13:01 +000018 va_end(p);
Robert Grieblefd49832002-07-19 20:27:11 +000019
Manuel Novoa III cad53642003-03-19 09:13:01 +000020 if (r < 0) {
21 bb_perror_msg_and_die("bb_xasprintf");
22 }
"Vladimir N. Oleynik"39a841c2005-09-29 16:18:57 +000023 return string_ptr;
Robert Grieblefd49832002-07-19 20:27:11 +000024}