From 80ab2671fbec8af0eb8830a975d7557ba5d8150c Mon Sep 17 00:00:00 2001
From: Ludovic Apvrille <ludovic.apvrille@telecom-paristech.fr>
Date: Wed, 27 Mar 2019 15:12:39 +0100
Subject: [PATCH] Test on DEL

---
 src/main/java/myutil/Terminal.java | 48 ++++++++++++++++++------------
 1 file changed, 29 insertions(+), 19 deletions(-)

diff --git a/src/main/java/myutil/Terminal.java b/src/main/java/myutil/Terminal.java
index ca143f6847..a8f7869152 100644
--- a/src/main/java/myutil/Terminal.java
+++ b/src/main/java/myutil/Terminal.java
@@ -89,6 +89,7 @@ public class Terminal {
         char x;
         int val = 0;
         cursorPosition = 0;
+        bufferPointer = 0;
 
 
         printPrompt(cpt);
@@ -129,29 +130,38 @@ public class Terminal {
                     //UP?
                     if ((sequence.charAt(0) == 91) && (sequence.charAt(1) == 65)) {
 
-                        //System.out.println("UP");
-                        delCurrent(currentBuf);
-                        bufferPointer = (bufferPointer > 0) ? bufferPointer - 1 : bufferPointer;
-                        currentBuf = buffer.get(bufferPointer);
-                        //printPrompt(cpt);
-                        myPrint(currentBuf);
-                        cursorPosition = currentBuf.length();
-                        sequence = null;
-                        val = -1;
+                        if (buffer.size() > 0) {
+                            //System.out.println("UP");
+                            delCurrent(currentBuf);
+                            bufferPointer = (bufferPointer > 0) ? bufferPointer - 1 : bufferPointer;
+                            currentBuf = buffer.get(bufferPointer);
+                            //printPrompt(cpt);
+                            myPrint(currentBuf);
+                            cursorPosition = currentBuf.length();
+                            sequence = null;
+                            val = -1;
+                        } else {
+                            sequence = null;
+                            val = -1;
+                        }
 
 
                         // DOWN
                     } else if ((sequence.charAt(0) == 91) && (sequence.charAt(1) == 66)) {
-
-                        //System.out.println("DOWN");
-                        delCurrent(currentBuf);
-                        bufferPointer = (bufferPointer == (buffer.size() - 1)) ? bufferPointer : bufferPointer + 1;
-                        currentBuf = buffer.get(bufferPointer);
-                        //printPrompt(cpt);
-                        myPrint(currentBuf);
-                        cursorPosition = currentBuf.length();
-                        sequence = null;
-                        val = -1;
+                        if (buffer.size() > 0) {
+                            //System.out.println("DOWN");
+                            delCurrent(currentBuf);
+                            bufferPointer = (bufferPointer == (buffer.size() - 1)) ? bufferPointer : bufferPointer + 1;
+                            currentBuf = buffer.get(bufferPointer);
+                            //printPrompt(cpt);
+                            myPrint(currentBuf);
+                            cursorPosition = currentBuf.length();
+                            sequence = null;
+                            val = -1;
+                        } else {
+                            sequence = null;
+                            val = -1;
+                        }
 
 
                         // BACKWARD
-- 
GitLab