Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/io/klog.c

    rd8de5d3 r0b4a67a  
    3838#include <sys/types.h>
    3939#include <unistd.h>
    40 #include <errno.h>
    4140#include <io/klog.h>
    42 #include <io/printf_core.h>
    4341
    4442size_t klog_write(const void *buf, size_t size)
     
    5755}
    5856
    59 /** Print formatted text to klog.
    60  *
    61  * @param fmt Format string
    62  *
    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 string
    106  * @param ap  Format parameters
    107  *
    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                 NULL
    117         };
    118        
    119         return printf_core(fmt, &ps, ap);
    120 }
    121 
    12257/** @}
    12358 */
Note: See TracChangeset for help on using the changeset viewer.