News for hackers. Stuff that matters.
Re:Unix v6 Ported to ANSI C by antihero on Wednesday November 09, 2011 @03:40AM (#3214807)
Ok, updated version:

    void*
    memmove(void *vdst, void *vsrc, int n)
    {
        char *dst, *src;

        dst = vdst;
        src = vsrc;
        if(vdst > vsrc) {
            dst = vdst + n;
            src = vsrc + n;
            while(n-- > 0)
                *--dst = *--src;
        }
        else if(vdst < vsrc)
            while(n-- > 0)
                *dst++ == *src++;
        return vdst;
    }

Does this solve the bugs?
Re:Unix v6 Ported to ANSI C by abecedarius on Wednesday November 09, 2011 @11:09AM (#3216022)
There's an == for an =. Also vdst+n is an error, I believe, because sizeof *vdst has no meaning.