Changeset 28a5ebd in mainline for kernel/arch/riscv64


Ignore:
Timestamp:
2020-06-18T15:39:50Z (6 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ce52c333
Parents:
4f663f3e
Message:

Use char32_t instead of wchat_t to represent UTF-32 strings

The intention of the native HelenOS string API has been always to
support Unicode in the UTF-8 and UTF-32 encodings as the sole character
representations and ignore the obsolete mess of older single-byte and
multibyte character encodings. Before C11, the wchar_t type has been
slightly misused for the purpose of the UTF-32 strings. The newer
char32_t type is obviously a much more suitable option. The standard
defines char32_t as uint_least32_t, thus we can take the liberty to fix
it to uint32_t.

To maintain compatilibity with the C Standard, the putwchar(wchar_t)
functions has been replaced by our custom putuchar(char32_t) functions
where appropriate.

Location:
kernel/arch/riscv64
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/riscv64/include/arch/drivers/ucb.h

    r4f663f3e r28a5ebd  
    4242extern void htif_init(volatile uint64_t *, volatile uint64_t *);
    4343extern outdev_t *htifout_init(void);
    44 extern void htif_putwchar(outdev_t *, const wchar_t);
     44extern void htif_putuchar(outdev_t *, const char32_t);
    4545
    4646#endif
  • kernel/arch/riscv64/src/asm.S

    r4f663f3e r28a5ebd  
    3535FUNCTION_END(asm_delay_loop)
    3636
    37 FUNCTION_BEGIN(early_putwchar)
     37FUNCTION_BEGIN(early_putuchar)
    3838        ret
    39 FUNCTION_END(early_putwchar)
     39FUNCTION_END(early_putuchar)
    4040
    4141FUNCTION_BEGIN(cpu_halt)
  • kernel/arch/riscv64/src/drivers/ucb.c

    r4f663f3e r28a5ebd  
    4242
    4343static outdev_operations_t htifdev_ops = {
    44         .write = htif_putwchar,
     44        .write = htif_putuchar,
    4545        .redraw = NULL,
    4646        .scroll_up = NULL,
     
    8585}
    8686
    87 void htif_putwchar(outdev_t *dev, const wchar_t ch)
     87void htif_putuchar(outdev_t *dev, const char32_t ch)
    8888{
    8989        if (ascii_check(ch))
Note: See TracChangeset for help on using the changeset viewer.