Changeset ed88c8e in mainline for uspace/lib/c/generic/io/io.c


Ignore:
Timestamp:
2018-05-29T13:25:07Z (6 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
fc0b2a8
Parents:
a57fa32
git-author:
Jiri Svoboda <jiri@…> (2018-05-28 17:24:17)
git-committer:
Jiri Svoboda <jiri@…> (2018-05-29 13:25:07)
Message:

fputc, putchar vs. fputwc, putwchar.

File:
1 edited

Legend:

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

    ra57fa32 red88c8e  
    4646#include <ipc/loc.h>
    4747#include <adt/list.h>
     48#include <wchar.h>
    4849#include "../private/io.h"
    4950#include "../private/stdio.h"
     
    702703}
    703704
    704 int fputc(wchar_t c, FILE *stream)
     705wint_t fputwc(wchar_t wc, FILE *stream)
    705706{
    706707        char buf[STR_BOUNDS(1)];
    707708        size_t sz = 0;
    708709
    709         if (chr_encode(c, buf, &sz, STR_BOUNDS(1)) == EOK) {
    710                 size_t wr = fwrite(buf, 1, sz, stream);
    711 
    712                 if (wr < sz)
    713                         return EOF;
    714 
    715                 return (int) c;
    716         }
    717 
    718         return EOF;
    719 }
    720 
    721 int putchar(wchar_t c)
     710        if (chr_encode(wc, buf, &sz, STR_BOUNDS(1)) != EOK) {
     711                errno = EILSEQ;
     712                return WEOF;
     713        }
     714
     715        size_t wr = fwrite(buf, 1, sz, stream);
     716        if (wr < sz)
     717                return WEOF;
     718
     719        return wc;
     720}
     721
     722wint_t putwchar(wchar_t wc)
     723{
     724        return fputwc(wc, stdout);
     725}
     726
     727int fputc(int c, FILE *stream)
     728{
     729        unsigned char b;
     730        size_t wr;
     731
     732        b = (unsigned char) c;
     733        wr = fwrite(&b, sizeof(b), 1, stream);
     734        if (wr < 1)
     735                return EOF;
     736
     737        return b;
     738}
     739
     740int putchar(int c)
    722741{
    723742        return fputc(c, stdout);
Note: See TracChangeset for help on using the changeset viewer.