X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Fdrv%2Fvterm.c;h=63db01e467385152389c4e3518f64488c3f2a214;hb=e02f66c7125bf18f77c6c53587238cbd49da2c89;hp=7d30511f4be7a09e221c14e0615e9c820b20d063;hpb=6d6b367c4f5e413a9e4135d9f5c40077c3724525;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/drv/vterm.c b/KernelLand/Kernel/drv/vterm.c index 7d30511f..63db01e4 100644 --- a/KernelLand/Kernel/drv/vterm.c +++ b/KernelLand/Kernel/drv/vterm.c @@ -196,7 +196,6 @@ int VT_Install(char **Arguments) // Semaphore_Init(&gVT_Terminals[i].InputSemaphore, 0, MAX_INPUT_CHARS8, "VTerm", gVT_Terminals[i].Name); } - Log_Debug("VTerm", "Registering with DevFS"); // Add to DevFS DevFS_AddDevice( &gVT_DrvInfo ); @@ -353,8 +352,7 @@ int VT_Root_IOCtl(tVFS_Node *Node, int Id, void *Data) */ size_t VT_Read(tVFS_Node *Node, off_t Offset, size_t Length, void *Buffer) { - int pos = 0; - int avail; + int pos, avail; tVTerm *term = &gVT_Terminals[ Node->Inode ]; Uint32 *codepoint_buf = Buffer; Uint32 *codepoint_in; @@ -373,9 +371,10 @@ size_t VT_Read(tVFS_Node *Node, off_t Offset, size_t Length, void *Buffer) avail = term->InputWrite - term->InputRead; if(avail < 0) avail += MAX_INPUT_CHARS8; - if(avail > Length - pos) - avail = Length - pos; + if(avail > Length) + avail = Length; + pos = 0; while( avail -- ) { ((char*)Buffer)[pos] = term->InputBuffer[term->InputRead]; @@ -395,12 +394,13 @@ size_t VT_Read(tVFS_Node *Node, off_t Offset, size_t Length, void *Buffer) if(avail < 0) avail += MAX_INPUT_CHARS32; Length /= 4; - if(avail > Length - pos) - avail = Length - pos; + if(avail > Length) + avail = Length; codepoint_in = (void*)term->InputBuffer; codepoint_buf = Buffer; + pos = 0; while( avail -- ) { codepoint_buf[pos] = codepoint_in[term->InputRead];