Rev 1882 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1882 | clevermous | 1 | /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ |
2 | #include |
||
3 | #include |
||
4 | #include |
||
1914 | jaeger | 5 | #include |
1882 | clevermous | 6 | |
7 | int |
||
1914 | jaeger | 8 | vsnprintf(char *str, size_t size, const char *fmt, va_list ap) |
1882 | clevermous | 9 | { |
10 | FILE _strbuf; |
||
11 | int len; |
||
12 | |||
13 | _strbuf._flag = _IOWRT|_IOSTRG; |
||
14 | _strbuf._ptr = str; |
||
1914 | jaeger | 15 | _strbuf._cnt = size; |
16 | len = _doprnt(fmt, ap, &_strbuf); |
||
1882 | clevermous | 17 | *_strbuf._ptr = 0; |
18 | return len; |
||
19 | } |
||
1914 | jaeger | 20 | |
21 | int |
||
22 | snprintf(char *str, size_t size, const char *fmt, ...) |
||
23 | { |
||
24 | int len; |
||
25 | va_list va; |
||
26 | va_start(va, fmt); |
||
27 | len = vsnprintf(str, size, fmt, va); |
||
28 | va_end(va); |
||
29 | return len; |
||
30 | } |
||
31 | |||
32 | int |
||
33 | sprintf(char *str, const char *fmt, ...) |
||
34 | { |
||
35 | int len; |
||
36 | va_list va; |
||
37 | va_start(va, fmt); |
||
38 | len = vsnprintf(str, INT_MAX, fmt, va); |
||
39 | va_end(va); |
||
40 | return len; |
||
41 | } |
||
42 |