Kernel - Implimenting PTYs (untested, unintegrated)
[tpg/acess2.git] / KernelLand / Kernel / drv / vterm_termbuf.c
index 7c29656..e03302a 100644 (file)
  */
 void VT_int_PutString(tVTerm *Term, const Uint8 *Buffer, Uint Count)
 {
-       Uint32  val;
         int    i;
        
        // Iterate
        for( i = 0; i < Count; i++ )
        {
                // Handle escape sequences
-               if( Buffer[i] == 0x1B )
+               int ret = VT_int_ParseEscape(Term, (const char*)&Buffer[i], Count-i);
+               if( ret > 0 )
                {
-                       i ++;
-                       i += VT_int_ParseEscape(Term, (const char*)&Buffer[i]) - 1;
+                       i += ret-1;
                        continue;
                }
                
@@ -33,6 +32,7 @@ void VT_int_PutString(tVTerm *Term, const Uint8 *Buffer, Uint Count)
                if( Buffer[i] < 128 )   // Plain ASCII
                        VT_int_PutChar(Term, Buffer[i]);
                else {  // UTF-8
+                       Uint32  val;
                        i += ReadUTF8(&Buffer[i], &val) - 1;
                        VT_int_PutChar(Term, val);
                }

UCC git Repository :: git.ucc.asn.au