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.