fix fclose return status logic, again