On 01:03 Mon 19 May , Wolfgang Denk wrote: > In message <[EMAIL PROTECTED]> you wrote: > > > > > > static inline void *memcpy(void *dst, const void *src, unsigned int > > > > len) > > > > { > > > > char *ret = dst; > > > > + > > > > while (len-- > 0) { > > > > *ret++ = *((char *)src); > > > > src++; > > > > } > > > > - return (void *)ret; > > > > + > > > > + return (void *)dst; > > > > > > While technically correct, this is bogus. We have a variable ret, but > > > we don't return it. And we have a variable dst, but we don't use it as > > > destination pointer. > > > > > > Please change the > > > *ret++ = *((char *)src); > > > into > > > *dst++ = *((char *)src); > > > and leave all the rest. > > You can not do this because dst is a void > > Why not? src is void, too. gcc will claim about the cast.
we can do this void *ret = dst; char *d = dst; const char *s = src; while (len-- > 0) *d++ = *s++; return ret; Best Regards, J. ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users