git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
feat: capability list to enable greater flexibility of devices
[lunaix-os.git]
/
lunaix-os
/
hal
/
term
/
term_io.c
diff --git
a/lunaix-os/hal/term/term_io.c
b/lunaix-os/hal/term/term_io.c
index 8042e3b2eae71859816926bcbf8d420c2f873001..835659dec048a70c61a2b14a8043e581e31c635c 100644
(file)
--- a/
lunaix-os/hal/term/term_io.c
+++ b/
lunaix-os/hal/term/term_io.c
@@
-33,7
+33,7
@@
do_read_raw(struct term* tdev)
max_lb_sz -= sz;
// TODO pass a flags to read to indicate it is non blocking ops
max_lb_sz -= sz;
// TODO pass a flags to read to indicate it is non blocking ops
- sz += chdev->ops.read_async(chdev,
inbuffer, sz
, max_lb_sz);
+ sz += chdev->ops.read_async(chdev,
&inbuffer[sz], 0
, max_lb_sz);
}
rbuffer_puts(line_in->next, inbuffer, sz);
}
rbuffer_puts(line_in->next, inbuffer, sz);
@@
-99,14
+99,14
@@
term_flush(struct term* tdev)
struct linebuffer* line_out = &tdev->line_out;
size_t xmit_len = line_out->current->len;
struct linebuffer* line_out = &tdev->line_out;
size_t xmit_len = line_out->current->len;
-
void
* xmit_buf = line_out->next->buffer;
+
char
* xmit_buf = line_out->next->buffer;
rbuffer_gets(line_out->current, xmit_buf, xmit_len);
off_t off = 0;
int ret = 0;
while (xmit_len && ret >= 0) {
rbuffer_gets(line_out->current, xmit_buf, xmit_len);
off_t off = 0;
int ret = 0;
while (xmit_len && ret >= 0) {
- ret = tdev->chdev->ops.write(tdev->chdev,
xmit_buf, off
, xmit_len);
+ ret = tdev->chdev->ops.write(tdev->chdev,
&xmit_buf[off], 0
, xmit_len);
xmit_len -= ret;
off += ret;
}
xmit_len -= ret;
off += ret;
}