From f8de255992557b387c262587255a52df867be099 Mon Sep 17 00:00:00 2001 From: dakkar Date: Wed, 21 Jun 2017 21:47:34 +0100 Subject: simpler surrogate codepoints detection *something* happened in recent versions of Perl that makes them no longer warn when hr()ing a surrogate --- lib/DateTime/Format/GeekTime.pm | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/lib/DateTime/Format/GeekTime.pm b/lib/DateTime/Format/GeekTime.pm index 9eb367b..6b909b4 100644 --- a/lib/DateTime/Format/GeekTime.pm +++ b/lib/DateTime/Format/GeekTime.pm @@ -62,13 +62,9 @@ sub format_datetime { $seconds=int($seconds/86_400*65_536+0.5); - my ($chr,$warn); - { - local $SIG{__WARN__}=sub {$warn=shift}; - $chr=chr($seconds); - } - if (defined $warn) {$chr=''} - else {$chr=" $chr"}; + my $chr = $seconds <= 0xD800 || $seconds >= 0xDFFF + ? ' '.chr($seconds) + : ''; return sprintf '0x%04X on day 0x%03X%s',$seconds,$days,$chr; } -- cgit v1.2.3