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.

we can do this
> 
>       char *tmp = dst;
> 
>       while (len-- > 0) {
>               *tmp++ = *((char *)src);
>               src++;
>       }
> 
>       return (void *)dst;

This is not a bit better.


Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: [EMAIL PROTECTED]
As far as the laws of mathematics refer to reality, they are not cer-
tain, and as far as they are certain, they do not refer  to  reality.
                                                   -- Albert Einstein

-------------------------------------------------------------------------
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

Reply via email to