Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!ucsd!tut.cis.ohio-state.edu!cs.utexas.edu!uunet!sdrc!scjones From: scjones@sdrc.UUCP (Larry Jones) Newsgroups: comp.lang.c Subject: Re: memcpy != bcopy (Was Re: bcopy() bzero()) Message-ID: <1170@sdrc.UUCP> Date: 2 Mar 90 00:06:54 GMT References: <11387@attctc.Dallas.TX.US> <4601@orion.cf.uci.edu> <497@thirdi.UUCP> <1990Feb23.225358.375@sj.ate.slb.com> Distribution: usa Organization: SDRC, Cincinnati Lines: 21 In article <1990Feb23.225358.375@sj.ate.slb.com>, konath@sj.ate.slb.com (Kannan Konath) writes: > In the VAX-VMS-C manual, it states that memmove() has exactly the same > functionality as memcpy(). Does that mean memmove() does not handle > overlapped moves or does that mean memcpy() handles overlapped moves. Both handle overlapped moves correctly. The documentation doesn't come right out and say it like it should, but it implies it by saying "Programs that require portability should use memmove if the area pointed at by s1 could overlap the area pointed at by s2." (At least this is the intent -- the original implementation was defective for moves over 64k bytes, but I'm pretty sure that has been fixed for quite awhile now.) ---- Larry Jones UUCP: uunet!sdrc!scjones SDRC scjones@SDRC.UU.NET 2000 Eastman Dr. BIX: ltl Milford, OH 45150-2789 AT&T: (513) 576-2070 "You know how Einstein got bad grades as a kid? Well MINE are even WORSE!" -Calvin