Changes in uspace/lib/c/generic/io/klog.c [d8de5d3:0b4a67a] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/io/klog.c
rd8de5d3 r0b4a67a 38 38 #include <sys/types.h> 39 39 #include <unistd.h> 40 #include <errno.h>41 40 #include <io/klog.h> 42 #include <io/printf_core.h>43 41 44 42 size_t klog_write(const void *buf, size_t size) … … 57 55 } 58 56 59 /** Print formatted text to klog.60 *61 * @param fmt Format string62 *63 * \see For more details about format string see printf_core.64 *65 */66 int klog_printf(const char *fmt, ...)67 {68 va_list args;69 va_start(args, fmt);70 71 int ret = klog_vprintf(fmt, args);72 73 va_end(args);74 75 return ret;76 }77 78 static int klog_vprintf_str_write(const char *str, size_t size, void *data)79 {80 size_t wr = klog_write(str, size);81 return str_nlength(str, wr);82 }83 84 static int klog_vprintf_wstr_write(const wchar_t *str, size_t size, void *data)85 {86 size_t offset = 0;87 size_t chars = 0;88 89 while (offset < size) {90 char buf[STR_BOUNDS(1)];91 size_t sz = 0;92 93 if (chr_encode(str[chars], buf, &sz, STR_BOUNDS(1)) == EOK)94 klog_write(buf, sz);95 96 chars++;97 offset += sizeof(wchar_t);98 }99 100 return chars;101 }102 103 /** Print formatted text to klog.104 *105 * @param fmt Format string106 * @param ap Format parameters107 *108 * \see For more details about format string see printf_core.109 *110 */111 int klog_vprintf(const char *fmt, va_list ap)112 {113 printf_spec_t ps = {114 klog_vprintf_str_write,115 klog_vprintf_wstr_write,116 NULL117 };118 119 return printf_core(fmt, &ps, ap);120 }121 122 57 /** @} 123 58 */
Note:
See TracChangeset
for help on using the changeset viewer.