Magellan Linux

Contents of /trunk/mkinitrd-magellan/klibc/usr/klibc/asprintf.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 532 - (show annotations) (download)
Sat Sep 1 22:45:15 2007 UTC (16 years, 9 months ago) by niro
File MIME type: text/plain
File size: 407 byte(s)
-import if magellan mkinitrd; it is a fork of redhats mkinitrd-5.0.8 with all magellan patches and features; deprecates magellan-src/mkinitrd

1 /*
2 * asprintf.c
3 */
4
5 #include <stdio.h>
6 #include <stdlib.h>
7 #include <stdarg.h>
8
9 int asprintf(char **bufp, const char *format, ...)
10 {
11 va_list ap, ap1;
12 int rv;
13 int bytes;
14 char *p;
15
16 va_start(ap, format);
17 va_copy(ap1, ap);
18
19 bytes = vsnprintf(NULL, 0, format, ap1) + 1;
20 va_end(ap1);
21
22 *bufp = p = malloc(bytes);
23 if (!p)
24 return -1;
25
26 rv = vsnprintf(p, bytes, format, ap);
27 va_end(ap);
28
29 return rv;
30 }