3 ms·
* You are not expected to understand this. */ if(rp->p_flag&SSWAP) { rp->p_flag =& ~SSWAP; aretu(u.u_ssav); } I don't understand what `=&` is. Is that
by jolmg 6y ago
* You are not expected to understand this.
*/
if(rp->p_flag&SSWAP) {
rp->p_flag =& ~SSWAP;
aretu(u.u_ssav);
}
I don't understand what `=&` is. Is that mistyping `&=` in the book? This should fail to compile, right?
- dsymonds 6y agoNot a typo. http://www.tom-yam.or.jp/2238/src/slp.c.html#line2238 http://www.tom-yam.or.jp/2238/src/slp.c.html#line2238 It's what we'd use `&=` for nowadays. Note that the "B" language had these sorts of operators around the opposite way for how they appeared in "C" (e.g. read https://www.bell-labs.com/usr/dmr/www/kbman.html https://www.bell-labs.com/usr/dmr/www/kbman.html).
- jolmg 6y agoThanks for those links. I wonder if there's a source that documents the changes C went through before C89. EDIT: Turns out that pre-standardized C is documented: http://www.math.utah.edu/computing/compilers/c/Ritchie-CReferenceManual.pdf http://www.math.utah.edu/computing/compilers/c/Ritchie-CRefe... Page 8 documents `=&`.
- deleted 6y ago[deleted]