Changes in uspace/lib/c/generic/io/asprintf.c [163e34c:28a5ebd] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/io/asprintf.c
r163e34c r28a5ebd 39 39 #include <stddef.h> 40 40 #include <str.h> 41 #include <printf_core.h> 41 #include <io/printf_core.h> 42 43 static int asprintf_str_write(const char *str, size_t count, void *unused) 44 { 45 return str_nlength(str, count); 46 } 47 48 static int asprintf_wstr_write(const char32_t *str, size_t count, void *unused) 49 { 50 return wstr_nlength(str, count); 51 } 52 53 int vprintf_length(const char *fmt, va_list args) 54 { 55 printf_spec_t ps = { 56 asprintf_str_write, 57 asprintf_wstr_write, 58 NULL 59 }; 60 61 return printf_core(fmt, &ps, args); 62 } 63 64 int printf_length(const char *fmt, ...) 65 { 66 va_list args; 67 va_start(args, fmt); 68 int ret = vprintf_length(fmt, args); 69 va_end(args); 70 71 return ret; 72 } 42 73 43 74 /** Allocate and print to string. … … 58 89 va_end(args2); 59 90 60 if (ret > =0) {91 if (ret > 0) { 61 92 *strp = malloc(ret + 1); 62 93 if (*strp == NULL) … … 84 115 int ret = vasprintf(strp, fmt, args); 85 116 va_end(args); 117 86 118 return ret; 87 119 }
Note:
See TracChangeset
for help on using the changeset viewer.