Ignore:
File:
1 edited

Legend:

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

    r6fa9a99d r6afc9d7  
    4343#include <io/printf_core.h>
    4444
    45 size_t kio_write(const void *buf, size_t size)
     45int kio_write(const void *buf, size_t size, size_t *nwritten)
    4646{
    47         ssize_t ret = (ssize_t) __SYSCALL3(SYS_KIO, KIO_WRITE, (sysarg_t) buf, size);
     47        int rc = (int) __SYSCALL3(SYS_KIO, KIO_WRITE, (sysarg_t) buf, size);
    4848       
    49         if (ret >= 0)
    50                 return (size_t) ret;
    51        
    52         return 0;
     49        if (rc == EOK)
     50                *nwritten = size;
     51        return rc;
    5352}
    5453
     
    8483static int kio_vprintf_str_write(const char *str, size_t size, void *data)
    8584{
    86         size_t wr = kio_write(str, size);
     85        size_t wr;
     86       
     87        wr = 0;
     88        (void) kio_write(str, size, &wr);
    8789        return str_nlength(str, wr);
    8890}
     
    9294        size_t offset = 0;
    9395        size_t chars = 0;
     96        size_t wr;
    9497       
    9598        while (offset < size) {
     
    98101               
    99102                if (chr_encode(str[chars], buf, &sz, STR_BOUNDS(1)) == EOK)
    100                         kio_write(buf, sz);
     103                        kio_write(buf, sz, &wr);
    101104               
    102105                chars++;
Note: See TracChangeset for help on using the changeset viewer.