> Dick convinced me to use memmove which works with overlapping regions. > (until someone can prove that it is a performance problem). I think that the point is to use fast block move instructions if available (say, MOVS on x86), especially in the cases where size=const. Hence non-overlapping behaviour in the specs. Sergey