Browse Source

* fixed ttyWrite() with #8

peter 27 years ago
parent
commit
8524ceeea4
1 changed files with 17 additions and 9 deletions
  1. 17 9
      rtl/linux/crt.pp

+ 17 - 9
rtl/linux/crt.pp

@@ -480,13 +480,19 @@ begin
 {Update MemCopy}
 {Update MemCopy}
   idx:=(CurrY-1)*ScreenWidth-1;
   idx:=(CurrY-1)*ScreenWidth-1;
   for i:=1to length(s) do
   for i:=1to length(s) do
-   begin
-     ConsoleBuf^[idx+CurrX].ch:=s[i];
-     ConsoleBuf^[idx+CurrX].attr:=TextAttr;
-     inc(CurrX);
-     if CurrX>ScreenWidth then
-      CurrX:=ScreenWidth;
-   end;
+   if s[i]=#8 then
+    begin
+      if CurrX>1 then
+       dec(CurrX);
+    end
+   else
+    begin
+      ConsoleBuf^[idx+CurrX].ch:=s[i];
+      ConsoleBuf^[idx+CurrX].attr:=TextAttr;
+      inc(CurrX);
+      if CurrX>ScreenWidth then
+       CurrX:=ScreenWidth;
+    end;
 end;
 end;
 
 
 
 
@@ -1203,7 +1209,6 @@ begin
           #8 : begin {BackSpace}
           #8 : begin {BackSpace}
                  SendText;
                  SendText;
                  ttyWrite(#8);
                  ttyWrite(#8);
-                 dec(CurrX);
                end;
                end;
         else
         else
          inc(SendBytes);
          inc(SendBytes);
@@ -1486,7 +1491,10 @@ Begin
 End.
 End.
 {
 {
   $Log$
   $Log$
-  Revision 1.9  1998-10-15 08:31:53  peter
+  Revision 1.10  1998-10-27 11:13:27  peter
+    * fixed ttyWrite() with #8
+
+  Revision 1.9  1998/10/15 08:31:53  peter
     + get winsize at startup
     + get winsize at startup
     + ConsoleBuf to interface
     + ConsoleBuf to interface