00001 // Copyright 2005 Felix von Leitner <felix-libowfat@fefe.de> 00002 // 2006 Benedikt Böhm <hollow@gentoo.org> 00003 // 00004 // This program is free software; you can redistribute it and/or modify 00005 // it under the terms of the GNU General Public License as published by 00006 // the Free Software Foundation; either version 2 of the License, or 00007 // (at your option) any later version. 00008 // 00009 // This program is distributed in the hope that it will be useful, 00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 // GNU General Public License for more details. 00013 // 00014 // You should have received a copy of the GNU General Public License 00015 // along with this program; if not, write to the 00016 // Free Software Foundation, Inc., 00017 // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00018 00019 #include <stdarg.h> 00020 #include <stdlib.h> 00021 00022 #include "printf.h" 00023 #include "stralloc.h" 00024 00025 int stralloc_catf(stralloc_t *dst, const char *fmt, ...) 00026 { 00027 va_list ap; 00028 char *buf; 00029 int rc; 00030 00031 va_start(ap, fmt); 00032 _lucid_vasprintf(&buf, fmt, ap); 00033 va_end(ap); 00034 00035 rc = stralloc_cats(dst, buf); 00036 00037 free(buf); 00038 00039 return rc; 00040 }