X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Fdrv%2Fvterm.c;h=e5abc7376da007c0513a86c21f3b440679653309;hb=4d166a859db826e94382e6222d5aa4d14ef1d3be;hp=6ed0cdd538bb4dc118b893c9956630a1cb1e2773;hpb=13a05c3f0ca748e82e573d4fb20cad7d54226b67;p=tpg%2Facess2.git diff --git a/Kernel/drv/vterm.c b/Kernel/drv/vterm.c index 6ed0cdd5..e5abc737 100644 --- a/Kernel/drv/vterm.c +++ b/Kernel/drv/vterm.c @@ -242,10 +242,9 @@ Uint64 VT_Read(tVFS_Node *Node, Uint64 Offset, Uint64 Length, void *Buffer) case VT_MODE_TEXT8: while(pos < Length) { - while(term->InputRead == term->InputWrite) Proc_Yield(); + while(term->InputRead == term->InputWrite) Threads_Yield(); while(term->InputRead != term->InputWrite) { - LOG("WriteUTF8(%p, 0x%x)", Buffer+pos, term->InputBuffer[term->InputRead]); pos += WriteUTF8(Buffer+pos, term->InputBuffer[term->InputRead]); term->InputRead ++; term->InputRead %= MAX_INPUT_CHARS; @@ -256,7 +255,7 @@ Uint64 VT_Read(tVFS_Node *Node, Uint64 Offset, Uint64 Length, void *Buffer) case VT_MODE_TEXT32: while(pos < Length) { - while(term->InputRead == term->InputWrite) Proc_Yield(); + while(term->InputRead == term->InputWrite) Threads_Yield(); while(term->InputRead != term->InputWrite) { ((Uint32*)Buffer)[pos] = term->InputBuffer[term->InputRead]; @@ -363,12 +362,13 @@ void VT_int_PutString(tVTerm *Term, Uint8 *Buffer, Uint Count) void VT_int_ClearLine(tVTerm *Term, int Num) { int i; - memset(Term->Text, 0, Term->Width*Term->Height*VT_SCROLLBACK*sizeof(tVT_Char)); - for( i = Term->Width; i++; ) + //ENTER("pTerm iNum", Term, Num); + for( i = Term->Width; i--; ) { Term->Text[ Num*Term->Width + i ].Ch = 0; Term->Text[ Num*Term->Width + i ].Colour = Term->CurColour; } + //LEAVE('-'); } /** @@ -413,7 +413,7 @@ int VT_int_ParseEscape(tVTerm *Term, char *Buffer) { case 2: { - int i = Term->Height * VT_SCROLLBACK;; + int i = Term->Height * VT_SCROLLBACK; while( i-- ) VT_int_ClearLine(Term, i); Term->WritePos = 0; Term->ViewPos = 0;