Changeset 225:cba62ee36290

Show
Ignore:
Timestamp:
05/19/08 16:19:44 (4 months ago)
Author:
Frank Benoit <benoit@tionex.de>
branch:
default
Message:

Fix bug in System.arraycopy when called for overlapping array ranges

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • dwt/dwthelper/System.d

    r212 r225  
    8181 
    8282        if(src is dest){ 
    83             for(int i=0; i<len; ++i){ 
    84                 dest[destPos+i] = src[srcPos+i]; 
     83            if( destPos < srcPos ){ 
     84                for(int i=0; i<len; ++i){ 
     85                    dest[destPos+i] = src[srcPos+i]; 
     86                } 
     87            } 
     88            else{ 
     89                for(int i=len-1; i>=0; --i){ 
     90                    dest[destPos+i] = src[srcPos+i]; 
     91                } 
    8592            } 
    8693        }else{