Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/genarch/src/drivers/dsrln/dsrlnout.c

    r28a5ebd re9bc927  
    4949} dsrlnout_instance_t;
    5050
    51 static void dsrlnout_putuchar(outdev_t *dev, const char32_t ch)
     51static void dsrlnout_write(outdev_t *dev, const char *s, size_t n)
    5252{
    5353        dsrlnout_instance_t *instance = (dsrlnout_instance_t *) dev->data;
    5454
    55         if ((!instance->parea.mapped) || (console_override)) {
    56                 if (ascii_check(ch))
    57                         pio_write_8(instance->base, ch);
    58                 else
    59                         pio_write_8(instance->base, U_SPECIAL);
     55        if (instance->parea.mapped && !console_override)
     56                return;
     57
     58        const char *top = s + n;
     59        assert(top >= s);
     60
     61        for (; s < top; s++) {
     62                if (*s == '\n')
     63                        pio_write_8(instance->base, '\r');
     64
     65                pio_write_8(instance->base, (uint8_t) *s);
    6066        }
    6167}
    6268
    6369static outdev_operations_t dsrlndev_ops = {
    64         .write = dsrlnout_putuchar,
     70        .write = dsrlnout_write,
    6571        .redraw = NULL,
    6672        .scroll_up = NULL,
Note: See TracChangeset for help on using the changeset viewer.