Quellcode durchsuchen

Ajout protection contre index negatif

Arthur Brandao vor 6 Jahren
Ursprung
Commit
7afecbe48a
1 geänderte Dateien mit 4 neuen und 7 gelöschten Zeilen
  1. 4 7
      src/migl/lisp/LispList.java

+ 4 - 7
src/migl/lisp/LispList.java

@@ -49,14 +49,11 @@ public class LispList{
 	 * @return
 	 */
 	public Object get(int index) {
-		if(this.list.size() <= index) {
+		LispList l = this.getSubList(index);
+		if(l == null) {
 			return null;
 		}
-		ConsList<Object> cl = this.list;
-		for(int i = 0; i < index; i++) {
-			cl = cl.cdr();
-		}
-		return cl.car();
+		return l.list.car();
 	}
 	
 	/**
@@ -65,7 +62,7 @@ public class LispList{
 	 * @return
 	 */
 	public LispList getSubList(int index) {
-		if(this.list.size() <= index) {
+		if(this.list.size() <= index || index < 0) {
 			return null;
 		}
 		ConsList<Object> cl = this.list;