Re: on project management

Paul Eggert <[email protected]>
Newsgroups org.kernel.vger.linux-man
Organization UCLA Computer Science Department
Message-ID <[email protected]>
On 2026-08-11 05:49, Robert Elz wrote:
> I replied to Paul with more details, I saw the reply got to UCLA
> mail servers, but whether he received it, or it was treated as
> spam, I have no idea.
I got it. Thanks for the trip down memory lane. The amusing thing to me is how 7th Edition Unix got by without a single mem*-style function. When 7th Edition code wanted to (say) copy a block of memory it did so by hand, byte by byte.

Here are you sent me in your email dated Tue, 11 Aug 2026 03:56:27 +0700:
>     Date:        Mon, 10 Aug 2026 10:29:12 -0700
>     From:        Paul Eggert <[email protected]>
>     Message-ID:  <[email protected]>
> 
>   | In an email today[1], Ingo Schwarze mentioned your contribution to
>   | what became 4.3BSD,
> 
> There was some of that yes, starting around 3BSD, but:
> 
>   | a contribution that introduced <memory.h>.
> 
> I have no memory of anything related to that, and it sounds kind
> of unlikely  -- but that is all so long ago.   When I look in
> the sccs logs of memchr.c I see:
> 
> D 5.5   90/05/15 14:07:06 bostic        5 4     00022/00020/00011
> ANSI C version from Chris Torek
> 
> D 5.4   88/06/27 18:25:34 bostic        4 3     00010/00005/00021
> install approved copyright notice
> 
> D 5.3   88/05/25 14:23:52 bostic        3 2     00010/00008/00016
> written by Robert Elz; add Berkeley specific header
> 
> D 5.2   86/03/09 19:33:58 donn  2 1     00001/00001/00023
> added LIBC_SCCS condition for sccs ids
> 
> D 5.1   85/08/05 21:43:13 kre   1 0     00024/00000/00000
> date and time created 85/08/05 21:43:13 by kre
> 
> so I guess I probably did have something to do with some of it.
> 
> The comment at the top (after the copyright nonsense) says:
> 
> /*
>  * Sys5 compat routine
>  */
> 
> It included no header files.
> 
> But there was a <memory.h> created at about the same time:
> 
> D 5.4   90/05/15 19:43:57 bostic        4 3     00001/00001/00019
> string.h is ANSI C include file
> 
> D 5.3   90/02/12 12:20:39 bostic        3 2     00001/00005/00019
> might as well only have one copy.
> 
> D 5.2   88/08/12 14:13:46 bostic        2 1     00020/00013/00004
> correct list from manual page
> 
> D 5.1   85/08/05 21:21:49 kre   1 0     00017/00000/00000
> date and time created 85/08/05 21:21:49 by kre
> 
> The 5.3 change altered it to just be #include <strings.h> and then
> the 5.4 change made that <string.h>
> 
> (In both cases there were later revisions than shown here, but they're
> mostly just updates for 4.4 type stuff, different copyright/licence, etc,
> rather than anything substantive).
> 
>   | Ingo writes that the code's comment "appears to claim that <memory.h>
>   | along with these five functions [memccpy, memcmp, memcpy, memchr, memset]
>   | came from AT&T System V UNIX,
> 
> "came from" in the sense that SysV created those functions, and then
> CSRG (me it seems) made BSD implementations - they are all trivial.
> 
> 85 was probably the year I spent 3 months working at CSRG (I certainly
> remember there was such a 3 month period - I also remember never bothering
> to fill in a California Tax return, and recover the (about) $10 refund I
> would have had coming...   But I no longer actually remember which year that
> was.)
> 
>   | almost half a decade before ANSI C 89 standardized them to
>   | live in <string.h>."
> 
> Certainly could be - whether SysV used <memory.h> or whether that was an
> invention, I have no idea.
> 
> The comment at the head of that one just says:
> 
> /*
>  * Definitions of the Sys5 compat memory manipulation routines
>  */
> 
> No indication if SysV used the same file name or not.  If I had
> to guess, I'd suspect possibly so, as I doubt I would have called
> it "memory.h" had I been inventing its name - so that probably came
> from wherever the specs for the functions came from.
> ,,,
> I didn't check the other 4 functions, but if I wrote the initial version
> of memchr() for BSD, it seems likely I wrote the others as well, but the
> version distributed seems likely to have been Chris Torek's rewrite.
> My version had K&R C style function definitions.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.