When I try to compile the piece of code below, I get this warning:
warning: suggest parentheses around assignment used as truth value
Why does this happen? This is a rather common idiom, I believe. I even use something like it earlier on my code.
struct PIDList* getRecordForPID(struct PIDList* list, pid_t pid) { while(list = list->next) if (list->pid == pid) return list; return NULL; }
-Wno-parentheses(I believe that's the right one) to disable this specific warning. However, if you're that absent-minded, be careful not to write=instead of==...