Heyhey

On Sun, Apr 12, 2015 at 08:56:40AM +0000, non...@inventati.org wrote:
> On Sun, Apr 12, 2015 at 10:41:36AM +0200, Silvan Jegen wrote:
> > I was thinking about this option too but in that case you would be
> > calling memmove with an identical src and dst when i == 0. The man page
> > for glibc memmove(3) does not mention anything about this being a noop
> > so I am not sure that is a good thing to do.
> 
> "The memory areas may overlap: copying takes place as though the bytes in
> src are first copied into a temporary array that does  not  overlap src
> or dest, and the bytes are then copied from the temporary array to dest."
> 
> src == dest is just a case of overlapping areas, it must work.

I don't doubt that it will work :)

I just wonder if it really will be copying the data around into a
temporary array for no reason when i == 0 (either in glibc or in another
libc).

I don't think it is worth removing this if and potentially copying data
around to no avail. At the same time I don't think this function is
called very often so in practice it will not matter in either case. I
just wanted to point it out so people can take it into consideration
before deciding to apply your patches.


Reply via email to