This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
As report_evil_fh() checks WARN_{CLOSED,UNOPENED}, don't duplicate this.
This trades reduced code size for an extra function call in the error path with
warnings disabled. (And removes a duplicated check for the case of taking the
error path *with* warnings enabled.)
Removing the check from Perl_do_close() does not change behaviour, as io is
NULL there, hence Perl_report_evil_fh() will always be checking WARN_UNOPENED
and setting vile to "unopened".