From f5be06bd923d0213cfae28473e743c903073d89e Mon Sep 17 00:00:00 2001 From: Pragmatic Software Date: Thu, 13 May 2010 20:59:43 +0000 Subject: [PATCH] Re-instated behavior of code-outside-of-main-goes-into-main --- modules/ideone.pl | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/modules/ideone.pl b/modules/ideone.pl index 1b91a273..01a426dd 100755 --- a/modules/ideone.pl +++ b/modules/ideone.pl @@ -137,19 +137,17 @@ if($languages{$lang}{'id'} == 1 or $languages{$lang}{'id'} == 11 or $languages{$ my $prelude = ''; $prelude = "$1$2" if $precode =~ s/^\s*(#.*)(#.*?[>\n])//s; - while($precode =~ s/([ a-zA-Z0-9_*\[\]]+)\s+([a-zA-Z0-9_*]+)\s*\((.*?)\)\s*{//) { - my ($ret, $ident, $params) = ($1, $2, $3); + while($precode =~ s/([ a-zA-Z0-9_*\[\]]+)\s+([a-zA-Z0-9_*]+)\s*\((.*?)\)\s*({.*)//) { + my ($ret, $ident, $params, $potential_body) = ($1, $2, $3, $4); - $precode = "{$precode"; - my @extract = extract_codeblock($precode, '{}'); + my @extract = extract_codeblock($potential_body, '{}'); my $body; if(not defined $extract[0]) { $output .= "error: unmatched brackets for function '$ident';\n"; $body = $extract[1]; - $precode = ''; } else { $body = $extract[0]; - $precode = $extract[1]; + $precode .= $extract[1]; } $code .= "$ret $ident($params) $body\n\n"; $has_main = 1 if $ident eq 'main';