3 ms·
History of the Plan 9 kernel (1990 – 2003)
- aap_ 8y agoVery cool. I've been meaning to convert 9hist to some version control system too for some time but never got around to it. Glad somebody else did.
- senozhatsky 8y agoPretty interesting. They use nil pointers everywhere, but also mention a NULL pointer: pc/ether82557.c: NullPointer = 0xFFFFFFFF, /* 82557 NULL pointer */ Or qget(): /* * get next block from a queue, return null if nothing there */ if(b == nil){ q->state |= Qstarve; iunlock(q); return nil; } So null and nil pointers. It was always interesting to me; there were null-terminated strings and null-bytes [0], but nil pointers. And then, occasionally, null and NULL pointers. [0] https://www.unix.com/man-page/plan9/2/strcat/ https://www.unix.com/man-page/plan9/2/strcat/ -ss
- projektfu 8y agoThe all-ones Null Pointer are part of the software interface of the 82557 ethernet controller. https://www.intel.com/content/dam/doc/manual/8255x-10-100-mbps-ethernet-controller-software-dev-manual.pdf https://www.intel.com/content/dam/doc/manual/8255x-10-100-mb...