From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jean-Christophe PLAGNIOL-VILLARD Date: Mon, 19 May 2008 00:20:19 +0200 Subject: [U-Boot-Users] [PATCH 02/17] examples/eepro100_eeprom: Fix memcpy to return destination pointer In-Reply-To: <20080518222846.4846D2476E@gemini.denx.de> References: <1211130599-28289-3-git-send-email-plagnioj@jcrosoft.com> <20080518222846.4846D2476E@gemini.denx.de> Message-ID: <20080518222019.GC19480@game.jcrosoft.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 00:28 Mon 19 May , Wolfgang Denk wrote: > In message <1211130599-28289-3-git-send-email-plagnioj@jcrosoft.com> you wrote: > > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD > > --- > > examples/eepro100_eeprom.c | 5 ++++- > > 1 files changed, 4 insertions(+), 1 deletions(-) > > > > diff --git a/examples/eepro100_eeprom.c b/examples/eepro100_eeprom.c > > index 2b15d05..5f4eb78 100644 > > --- a/examples/eepro100_eeprom.c > > +++ b/examples/eepro100_eeprom.c > > @@ -80,11 +80,13 @@ static inline short inw(long addr) > > 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 we can do this char *tmp = dst; while (len-- > 0) { *tmp++ = *((char *)src); src++; } return (void *)dst; Best Regards, J.