The refactoring of fbm_compile in
66379c06cd to prepare for
c72a4eedff1 put in an SvIsCOW check before doing SvPV_force. I sim-
ply changed the logic there so that SvPV_force would continue to have
its effect but without tripping up on read-only variables for which
SvPV_force would not need to make any changes anyway.
Now, if a COW scalar is read-only, we can’t call SvPV_force on it,
because it will die.
It turns out that we don’t actually need to call SvPV_force on COWs.
We can just go ahead and attach the BM magic and continue sharing
the buffer.
}
use strict;
-plan( tests => 120 );
+plan( tests => 121 );
run_tests() unless caller;
}
is u, undef, 'undef constant is still undef';
+is index('the main road', __PACKAGE__), 4,
+ '[perl #119169] __PACKAGE__ as 2nd argument';
+
} # end of sub run_tests
if (mg && mg->mg_len >= 0)
mg->mg_len++;
}
- if (!SvPOK(sv) || SvNIOKp(sv) || SvIsCOW(sv))
+ if (!SvPOK(sv) || SvNIOKp(sv))
s = (U8*)SvPV_force_mutable(sv, len);
else s = (U8 *)SvPV_mutable(sv, len);
if (len == 0) /* TAIL might be on a zero-length string. */