From e85e08284804606bd79c8e2ebab1cd1574644747 Mon Sep 17 00:00:00 2001 From: Ryan Voots Date: Mon, 3 Apr 2017 18:36:37 -0400 Subject: [PATCH] Make versions more ergonomic --- lib/eval.pl | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/lib/eval.pl b/lib/eval.pl index 0e22f90..219586b 100755 --- a/lib/eval.pl +++ b/lib/eval.pl @@ -118,6 +118,7 @@ sub get_seccomp { $rule_add->(set_tid_address => ); # needed for perl >= 5.20 $rule_add->(set_robust_list => ); + $rule_add->(futex => ); # Allow select, might need to have some kind of restriction on it? probably fine $rule_add->(select => ); @@ -424,7 +425,26 @@ Biqsip biqsip 'ugh chan ghitlh lursa' nuh bey' ngun petaq qeng soj tlhej waqboch sub perl_version_code { my ($version, $code) = @_; - exec($version_map{$version}, '-e', $code); + my $qcode = quotemeta $code; + + my $wrapper = 'use Data::Dumper; + + local $Data::Dumper::Terse = 1; + local $Data::Dumper::Quotekeys = 0; + local $Data::Dumper::Indent = 0; + local $Data::Dumper::Useqq = 1; + + my $val = eval "#line 1 \"(IRC)\"\n'.$qcode.'"; + + if ($@) { + print $@; + } else { + $val = ref($val) ? Dumper ($val) : "".$val; + print " ",$val; + } + '; + + exec($version_map{$version}, '-e', $wrapper); } # sub javascript_code {