While I agree with the other excellent comments in this thread (I just
dig out my document for the original "Portable C Library (on UNIX)",
complete with functions beginning with "C"), I have one small correction.
Variable length file names in directories actually didn't come out until
the Berkeley Fast Filesystem in 4BSD. They were not in V7 or even 3BSD.
By the time Version 7 rolled around, the variable
length directories had also appeared in the filesystem. I suspect strcpy arrived with
the "portable I/O library", an abomination that eventually evolved into the
stdio library and to this day is still stinking up the standard C language.