146,7 → 146,7 |
|
/* functions referenced from definitions of I/O operations structures */ |
static void sgcn_noop(chardev_t *); |
static void sgcn_putchar(chardev_t *, const char); |
static void sgcn_putchar(chardev_t *, const char, bool); |
static char sgcn_key_read(chardev_t *); |
|
/** character device operations */ |
295,16 → 295,17 |
* feed character is written ('\n'), the carriage return character ('\r') is |
* written straight away. |
*/ |
static void sgcn_putchar(struct chardev * cd, const char c) |
static void sgcn_putchar(struct chardev * cd, const char c, bool silent) |
{ |
spinlock_lock(&sgcn_output_lock); |
|
sgcn_do_putchar(c); |
if (c == '\n') { |
sgcn_do_putchar('\r'); |
if (!silent) { |
spinlock_lock(&sgcn_output_lock); |
|
sgcn_do_putchar(c); |
if (c == '\n') |
sgcn_do_putchar('\r'); |
|
spinlock_unlock(&sgcn_output_lock); |
} |
|
spinlock_unlock(&sgcn_output_lock); |
} |
|
/** |