2 * Copyright (c) 1990 The Regents of the University of California.
5 * Redistribution and use in source and binary forms are permitted
6 * provided that the above copyright notice and this paragraph are
7 * duplicated in all such forms and that any documentation,
8 * advertising materials, and other materials related to such
9 * distribution and use acknowledge that the software was developed
10 * by the University of California, Berkeley. The name of the
11 * University may not be used to endorse or promote products derived
12 * from this software without specific prior written permission.
13 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
18 /* This code was copied from sprintf.c */
32 _DEFUN (_asprintf_r
, (ptr
, strp
, fmt
), struct _reent
*ptr _AND
char **strp _AND _CONST
char *fmt _DOTS
)
34 _asprintf_r (ptr
, strp
, fmt
, va_alist
)
45 /* mark a zero-length reallocatable buffer */
46 f
._flags
= __SWR
| __SSTR
| __SMBF
;
47 f
._bf
._base
= f
._p
= NULL
;
48 f
._bf
._size
= f
._w
= 0;
49 f
._file
= -1; /* No file. */
55 ret
= vfprintf (&f
, fmt
, ap
);
66 _DEFUN (asprintf
, (strp
, fmt
), char **strp _AND _CONST
char *fmt _DOTS
)
68 asprintf (strp
, fmt
, va_alist
)
78 /* mark a zero-length reallocatable buffer */
79 f
._flags
= __SWR
| __SSTR
| __SMBF
;
80 f
._bf
._base
= f
._p
= NULL
;
81 f
._bf
._size
= f
._w
= 0;
82 f
._file
= -1; /* No file. */
88 ret
= vfprintf (&f
, fmt
, ap
);