git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Cut down on debug, fixed tabs, made process tree be killed when root is killed
[tpg/acess2.git]
/
Kernel
/
drv
/
vterm.c
diff --git
a/Kernel/drv/vterm.c
b/Kernel/drv/vterm.c
index
6ed0cdd
..
304de69
100644
(file)
--- a/
Kernel/drv/vterm.c
+++ b/
Kernel/drv/vterm.c
@@
-15,7
+15,7
@@
#define DEFAULT_INPUT "/Devices/PS2Keyboard"
#define DEFAULT_WIDTH 80
#define DEFAULT_HEIGHT 25
#define DEFAULT_INPUT "/Devices/PS2Keyboard"
#define DEFAULT_WIDTH 80
#define DEFAULT_HEIGHT 25
-#define DEFAULT_COLOUR (VT_COL_BLACK|(
VT_COL_WHITE
<<16))
+#define DEFAULT_COLOUR (VT_COL_BLACK|(
0xAAA
<<16))
#define VT_FLAG_HIDECSR 0x01
#define VT_FLAG_HIDECSR 0x01
@@
-62,7
+62,7
@@
void VT_int_UpdateScreen( tVTerm *Term, int UpdateAll );
// === CONSTANTS ===
const Uint16 caVT100Colours[] = {
// === CONSTANTS ===
const Uint16 caVT100Colours[] = {
- VT_COL_BLACK, 0x700, 0x070, 0x770, 0x007, 0x707, 0x077,
VT_COL_LTGREY
,
+ VT_COL_BLACK, 0x700, 0x070, 0x770, 0x007, 0x707, 0x077,
0xAAA
,
VT_COL_GREY, 0xF00, 0x0F0, 0xFF0, 0x00F, 0xF0F, 0x0FF, VT_COL_WHITE
};
VT_COL_GREY, 0xF00, 0x0F0, 0xFF0, 0x00F, 0xF0F, 0x0FF, VT_COL_WHITE
};
@@
-72,6
+72,7
@@
tDevFS_Driver gVT_DrvInfo = {
NULL, "VTerm",
{
.Flags = VFS_FFLAG_DIRECTORY,
NULL, "VTerm",
{
.Flags = VFS_FFLAG_DIRECTORY,
+ .Size = NUM_VTS,
.Inode = -1,
.NumACLs = 0,
.ReadDir = VT_ReadDir,
.Inode = -1,
.NumACLs = 0,
.ReadDir = VT_ReadDir,
@@
-194,7
+195,7
@@
char *VT_ReadDir(tVFS_Node *Node, int Pos)
{
if(Pos < 0) return NULL;
if(Pos >= NUM_VTS) return NULL;
{
if(Pos < 0) return NULL;
if(Pos >= NUM_VTS) return NULL;
- return
gVT_Terminals[Pos].Name
;
+ return
strdup( gVT_Terminals[Pos].Name )
;
}
/**
}
/**
@@
-242,10
+243,9
@@
Uint64 VT_Read(tVFS_Node *Node, Uint64 Offset, Uint64 Length, void *Buffer)
case VT_MODE_TEXT8:
while(pos < Length)
{
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)
{
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;
pos += WriteUTF8(Buffer+pos, term->InputBuffer[term->InputRead]);
term->InputRead ++;
term->InputRead %= MAX_INPUT_CHARS;
@@
-256,7
+256,7
@@
Uint64 VT_Read(tVFS_Node *Node, Uint64 Offset, Uint64 Length, void *Buffer)
case VT_MODE_TEXT32:
while(pos < Length)
{
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];
while(term->InputRead != term->InputWrite)
{
((Uint32*)Buffer)[pos] = term->InputBuffer[term->InputRead];
@@
-363,12
+363,13
@@
void VT_int_PutString(tVTerm *Term, Uint8 *Buffer, Uint Count)
void VT_int_ClearLine(tVTerm *Term, int Num)
{
int i;
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;
}
{
Term->Text[ Num*Term->Width + i ].Ch = 0;
Term->Text[ Num*Term->Width + i ].Colour = Term->CurColour;
}
+ //LEAVE('-');
}
/**
}
/**
@@
-413,7
+414,7
@@
int VT_int_ParseEscape(tVTerm *Term, char *Buffer)
{
case 2:
{
{
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;
while( i-- ) VT_int_ClearLine(Term, i);
Term->WritePos = 0;
Term->ViewPos = 0;
@@
-471,7
+472,7
@@
void VT_int_PutChar(tVTerm *Term, Uint32 Ch)
switch(Ch)
{
switch(Ch)
{
- case
0:
return; // Ignore NULL byte
+ case
'\0':
return; // Ignore NULL byte
case '\n':
Term->WritePos += Term->Width;
case '\r':
case '\n':
Term->WritePos += Term->Width;
case '\r':
@@
-480,7
+481,7
@@
void VT_int_PutChar(tVTerm *Term, Uint32 Ch)
case '\t':
do {
case '\t':
do {
- Term->Text[ Term->WritePos ].Ch = '\
t
';
+ Term->Text[ Term->WritePos ].Ch = '\
0
';
Term->Text[ Term->WritePos ].Colour = Term->CurColour;
Term->WritePos ++;
} while(Term->WritePos & 7);
Term->Text[ Term->WritePos ].Colour = Term->CurColour;
Term->WritePos ++;
} while(Term->WritePos & 7);
@@
-492,7
+493,7
@@
void VT_int_PutChar(tVTerm *Term, Uint32 Ch)
Term->WritePos --;
// Singe Character
Term->WritePos --;
// Singe Character
- if(Term->Text[ Term->WritePos ].Ch != '\
t
') {
+ if(Term->Text[ Term->WritePos ].Ch != '\
0
') {
Term->Text[ Term->WritePos ].Ch = 0;
Term->Text[ Term->WritePos ].Colour = Term->CurColour;
break;
Term->Text[ Term->WritePos ].Ch = 0;
Term->Text[ Term->WritePos ].Colour = Term->CurColour;
break;
@@
-503,7
+504,7
@@
void VT_int_PutChar(tVTerm *Term, Uint32 Ch)
Term->Text[ Term->WritePos ].Ch = 0;
Term->Text[ Term->WritePos ].Colour = Term->CurColour;
Term->WritePos --;
Term->Text[ Term->WritePos ].Ch = 0;
Term->Text[ Term->WritePos ].Colour = Term->CurColour;
Term->WritePos --;
- } while(Term->WritePos && i-- && Term->Text[ Term->WritePos ].Ch == '\
t
');
+ } while(Term->WritePos && i-- && Term->Text[ Term->WritePos ].Ch == '\
0
');
break;
default:
break;
default:
UCC
git Repository :: git.ucc.asn.au