2007-01-03 Paul Smith * make.h (ENULLLOOP): Reset errno after each failed invocation of the function, not just the first. Fixes Savannah bug #18680. --- make-3.81/make.h +++ make-3.81/make.h @@ -606,6 +606,6 @@ extern int handling_fatal_signal; NULL at the end of the directory--and _doesn't_ reset errno. So, we have to do it ourselves here. */ -#define ENULLLOOP(_v,_c) do{ errno = 0; \ - while (((_v)=_c)==0 && errno==EINTR); }while(0) +#define ENULLLOOP(_v,_c) do { errno = 0; (_v) = _c; } \ + while((_v)==0 && errno==EINTR)