> Should have told it was for delphi also: > > Procedure XorMemPrim(var Mem1; const Mem2; Count : > Cardinal); Var i:integer; > p1,p2:pointer; > Begin > p1:=@Mem1; > p2:=@Mem2; > for i:=1 to count div 4 do > begin > pdword(p1)^:=pdword(p1)^ xor pdword(p2)^; > p1:=pointer(cardinal(p1)+4); > p2:=pointer(cardinal(p2)+4); > end; > For i:=1 to count mod 4 do > begin > pbyte(p1)^:=pbyte(p1)^ xor pbyte(p2)^; > p1:=pointer(cardinal(p1)+1); > p2:=pointer(cardinal(p2)+1); > end; > End; >
BTW. Use PtrUint instead of cardinal if you want to port this to 64 bits. But then it won't compile on Delphi anymore. Ludo -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
