summaryrefslogtreecommitdiff
path: root/pp_sys.c
diff options
context:
space:
mode:
authorFelipe Gasper <felipe@felipegasper.com>2022-07-18 08:54:07 -0400
committerTony Cook <tony@develop-help.com>2022-07-19 10:29:07 +1000
commit85907e6fd46b83e1d30cee29a30e868e1c117f7f (patch)
treeab2199fb66abe6cbd1be0ba6812794ce7f06845f /pp_sys.c
parentcbc5b6f1526f9eb657d61241e54b383c2d053b44 (diff)
downloadperl-85907e6fd46b83e1d30cee29a30e868e1c117f7f.tar.gz
Make 4-argument select() handle UTF8-flagged strings correctly.
Issue #19882
Diffstat (limited to 'pp_sys.c')
-rw-r--r--pp_sys.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/pp_sys.c b/pp_sys.c
index 09f6b8f8f8..f1026923a6 100644
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -1165,7 +1165,10 @@ PP(pp_sselect)
Perl_croak_no_modify();
}
else if (SvIsCOW(sv)) sv_force_normal_flags(sv, 0);
- if (!SvPOK(sv)) {
+ if (SvPOK(sv)) {
+ if (SvUTF8(sv)) sv_utf8_downgrade(sv, FALSE);
+ }
+ else {
if (!SvPOKp(sv))
Perl_ck_warner(aTHX_ packWARN(WARN_MISC),
"Non-string passed as bitmask");