[TUHS] History of strncpy

Ronald Natalie ron at ronnatalie.com
Fri Jan 25 00:42:59 AEST 2013

On Jan 24, 2013, at 1:02 AM, Larry McVo
> As a SPARC guy (in the past), I think it may have had something to do 
> about alignment.
> That said, I hate the fread/fwrite interfaces.  We're fixing them in 
> our stdio.  freadn(f, buf, n).
Amen.    For practical matters, there is no way given the rest of the library that an implementation can do
anything other than multiply the two middle args together.    The stream still needs to be a byte stream
and passing things as void* sort of divorces any clue as to what alignment or other portability requirements
are (and I've worked on C on some rather odd word sized machines like 36 and 60 as well as machines
that encode the word size in the pointer... believe me there were TONS of bugs in 4BSD with regard to that
one where they would stuff a char* into a union and retrieve it with a int* thwarting any possible conversion
(as we put in place when you casted one pointer to other).

It's not true that FILE went at the end, except in vararg'd functions.   It goes at the beginning of ftell (which
mimics the UNIX  tell call).    As with Larry, I'd much perferred they mimic'd most of the UNIX calls when
possible.   They were reasonably thought out.

More information about the TUHS mailing list