Ignore:
File:
1 edited

Legend:

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

    r163e34c r694ca3d6  
    131131}
    132132
    133 static errno_t kio_vprintf_str_write(const char *str, size_t size, void *data)
     133static int kio_vprintf_str_write(const char *str, size_t size, void *data)
    134134{
    135         size_t wr = 0;
    136         return kio_write(str, size, &wr);
     135        size_t wr;
     136
     137        wr = 0;
     138        (void) kio_write(str, size, &wr);
     139        return str_nlength(str, wr);
     140}
     141
     142static int kio_vprintf_wstr_write(const char32_t *str, size_t size, void *data)
     143{
     144        size_t offset = 0;
     145        size_t chars = 0;
     146        size_t wr;
     147
     148        while (offset < size) {
     149                char buf[STR_BOUNDS(1)];
     150                size_t sz = 0;
     151
     152                if (chr_encode(str[chars], buf, &sz, STR_BOUNDS(1)) == EOK)
     153                        kio_write(buf, sz, &wr);
     154
     155                chars++;
     156                offset += sizeof(char32_t);
     157        }
     158
     159        return chars;
    137160}
    138161
     
    149172        printf_spec_t ps = {
    150173                kio_vprintf_str_write,
     174                kio_vprintf_wstr_write,
    151175                NULL
    152176        };
Note: See TracChangeset for help on using the changeset viewer.