safehasattr: pass attribute name as string instead of bytes
This is a step toward replacing `util.safehasattr` usage with plain `hasattr`.
The builtin function behave poorly in Python2 but this was fixed in Python3.
These change are done one by one as they tend to have a small odd to trigger
puzzling breackage.
--- a/mercurial/chgserver.py Thu Feb 02 17:19:26 2023 +0100
+++ b/mercurial/chgserver.py Thu Feb 02 17:19:35 2023 +0100
@@ -236,7 +236,7 @@
# will behave differently (i.e. write to stdout).
if (
out is not self.fout
- or not util.safehasattr(self.fout, b'fileno')
+ or not util.safehasattr(self.fout, 'fileno')
or self.fout.fileno() != procutil.stdout.fileno()
or self._finoutredirected
):