In our previous episode, Carsten Bager said: > Function Sum(p:pointer; len:LongInt):LongInt; > Type > a_typ=array[0..pred(maxLongInt)] of byte; > a=^a_typ; > var > i:LongInt; > Begin > result:=0; > for i:=0 to len do > result:=result+a(p)^[i]; > End;
0..len is len+1 items. > > Procedure test; > Var > s:ansistring; > i:integer; > Begin > s:='Something'; > for i:=0 to 100000 do > s:=s+'Test'; > if Sum(@s[1],length(s)) = 0 then s[1] length(s) implies "lenght(s)" items. IOW the sum routine also adds/accesses the final zero. _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal