To avoid warnings on some compilers added extra parens to if ((error = func()))