Changes in kernel/generic/src/console/console.c [b9c7425:98000fb] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/console/console.c
rb9c7425 r98000fb 76 76 static parea_t klog_parea; 77 77 78 static indev_t stdin_sink;79 static outdev_t stdout_source;80 81 78 static indev_operations_t stdin_ops = { 82 79 .poll = NULL 83 80 }; 84 81 85 static void stdout_write(outdev_t *dev, wchar_t ch, bool silent);86 87 static outdev_operations_t stdout_ops = {88 .write = stdout_write89 };90 91 82 /** Silence output */ 92 83 bool silent = false; … … 99 90 { 100 91 if (stdin == NULL) { 101 indev_initialize("stdin", &stdin_sink, &stdin_ops); 102 stdin = &stdin_sink; 92 stdin = malloc(sizeof(indev_t), FRAME_ATOMIC); 93 if (stdin != NULL) 94 indev_initialize("stdin", stdin, &stdin_ops); 103 95 } 104 96 105 97 return stdin; 106 }107 108 void stdout_wire(outdev_t *outdev)109 {110 if (stdout == NULL) {111 outdev_initialize("stdout", &stdout_source, &stdout_ops);112 stdout = &stdout_source;113 }114 115 list_append(&outdev->link, &stdout->list);116 }117 118 static void stdout_write(outdev_t *dev, wchar_t ch, bool silent)119 {120 link_t *cur;121 122 for (cur = dev->list.next; cur != &dev->list; cur = cur->next) {123 outdev_t *sink = list_get_instance(cur, outdev_t, link);124 sink->op->write(sink, ch, silent);125 }126 98 } 127 99
Note:
See TracChangeset
for help on using the changeset viewer.