Hello all, func(int* a, int b) { while((*a&(1 << b))==0); } Can someone tell me the hidden purpose of this code?
It will either do nothing (if *a & (1<<b) is zero) or hit an infinite loop (if *a & (1<<b) is non-zero). Best bet is to go after whoever wrote that code and give them a good LARTing, or at least ask them what the point of the function was, because they've almost certainly coded it wrong. *IF* the function is within a multithreaded program and some other thread is modifying *a, then it might be useful - it would wait until the b-th bit of *a is clear. But this is a terrible way of doing it because it uses 100% CPU until that is done.