Contents of /trunk/mkinitrd-magellan/klibc/usr/klibc/asprintf.c
Parent Directory | 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)
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 | } |