Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

  * 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?


Not a typo.

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).


Thanks 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-CRefe...

Page 8 documents `=&`.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: