FIX_ECPG_SET_TO_DEFAULT_v2.patch
application/octet-stream
Filename: FIX_ECPG_SET_TO_DEFAULT_v2.patch
Type: application/octet-stream
Part: 0
Patch
Format: unified
Series: patch v2
| File | + | − |
|---|---|---|
| src/interfaces/ecpg/preproc/parse.pl | 14 | 3 |
diff --git a/src/interfaces/ecpg/preproc/parse.pl b/src/interfaces/ecpg/preproc/parse.pl
index 6dee500..4445d3d 100644
--- a/src/interfaces/ecpg/preproc/parse.pl
+++ b/src/interfaces/ecpg/preproc/parse.pl
@@ -25,6 +25,7 @@ my $yaccmode = 0;
my $header_included = 0;
my $feature_not_supported = 0;
my $tokenmode = 0;
+my $fill_semicolon = 0;
my (%buff, $infield, $comment, %tokens, %addons);
my ($stmt_mode, @fields);
@@ -258,6 +259,7 @@ sub main
}
elsif ($arr[$fieldIndexer] eq '}')
{
+ $fill_semicolon = 1;
$brace_indent--;
next;
}
@@ -271,7 +273,9 @@ sub main
{
next;
}
- if ($arr[$fieldIndexer] eq ';')
+
+ if (($arr[$fieldIndexer] =~ /[A-Za-z0-9]+:/ && $fill_semicolon eq 1)
+ || $arr[$fieldIndexer] eq ';')
{
if ($copymode)
{
@@ -279,16 +283,23 @@ sub main
{
dump_line($stmt_mode, \@fields);
}
- add_to_buffer('rules', ";\n\n");
+ if ($arr[$fieldIndexer] eq ';')
+ {
+ add_to_buffer('rules', ";\n\n");
+ }
}
else
{
$copymode = 1;
}
+ $fill_semicolon = 0;
@fields = ();
$infield = 0;
$line = '';
- next;
+ if($arr[$fieldIndexer] eq ';')
+ {
+ next;
+ }
}
if ($arr[$fieldIndexer] eq '|')