Speaking of which, may be I'm hijacking this thread at this point.

My finer implementation works but chokes on NULL....

Code:
int strCmp(const char *s1, const char *s2 )
{
        const char *p1 = s1;
        const char *p2 = s2;


        while (*p1 == *p2)
        {
                if (*p1 == '\0')
                        return *p1 - *p2;
                p1++;
                p2++;
        }


        return *p1 - *p2;
}