- fix for StringArray.delete(int) method vm_StringArray_delete
authorMartin Soch <Martin.Soch@oracle.com>
Mon, 03 Dec 2012 15:21:56 +0100
branchvm_StringArray_delete
changeset 243041f6bf8ebbc
parent 241 2177242dff06
child 244 0422a4e85607
- fix for StringArray.delete(int) method
- added test to be sure indx is in range of this.arr
vm/src/main/java/org/apidesign/vm4brwsr/StringArray.java
     1.1 --- a/vm/src/main/java/org/apidesign/vm4brwsr/StringArray.java	Mon Dec 03 00:03:40 2012 +0100
     1.2 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/StringArray.java	Mon Dec 03 15:21:56 2012 +0100
     1.3 @@ -73,16 +73,16 @@
     1.4      }
     1.5  
     1.6      void delete(int indx) {
     1.7 -        if (arr == null) {
     1.8 +        if (arr == null || indx < 0 || indx >= arr.length) {
     1.9              return;
    1.10          }
    1.11          String[] tmp = new String[arr.length - 1];
    1.12          for (int i = 0, j = 0; i < arr.length; i++) {
    1.13 -            tmp[j] = arr[i];
    1.14 -            if (j == indx) {
    1.15 -                continue;
    1.16 +            if (i != indx) {
    1.17 +                tmp[j++] = arr[i];
    1.18              }
    1.19          }
    1.20 +        arr = tmp;
    1.21      }
    1.22  
    1.23      int indexOf(String ic) {