summaryrefslogtreecommitdiff
path: root/regen/ebcdic.pl
diff options
context:
space:
mode:
Diffstat (limited to 'regen/ebcdic.pl')
-rw-r--r--regen/ebcdic.pl20
1 files changed, 12 insertions, 8 deletions
diff --git a/regen/ebcdic.pl b/regen/ebcdic.pl
index b726793c3b..b50d11ae97 100644
--- a/regen/ebcdic.pl
+++ b/regen/ebcdic.pl
@@ -10,31 +10,34 @@ require 'regen/charset_translations.pl';
my $out_fh = open_new('ebcdic_tables.h', '>',
{style => '*', by => $0, });
-sub output_table ($$) {
+sub output_table ($$;$) {
my $table_ref = shift;
my $name = shift;
# Tables in hex easier to debug, but don't fit into 80 columns
- my $print_in_hex = 0;
+ my $print_in_hex = shift // 1;
die "Requres 256 entries in table $name, got @$table_ref" if @$table_ref != 256;
print $out_fh "EXTCONST U8 $name\[\] = {\n";
- print $out_fh "/* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F */\n" if $print_in_hex;
+ my $column_numbers= "/*_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/\n";
+ print $out_fh $column_numbers if $print_in_hex;
for my $i (0 .. 255) {
if ($print_in_hex) {
- printf $out_fh "/* %X_ */ ", $i / 16 if $i % 16 == 0;
- printf $out_fh " 0x%02X", $table_ref->[$i];
+ # No row headings, so will fit in 80 cols.
+ #printf $out_fh "/* %X_ */ ", $i / 16 if $i % 16 == 0;
+ printf $out_fh "0x%02X", $table_ref->[$i];
}
else {
printf $out_fh "%4d", $table_ref->[$i];
}
- printf $out_fh " /* %X_ */", $i / 16 if $print_in_hex && $i % 16 == 15;
print $out_fh ",", if $i < 255;
+ #print $out_fh ($i < 255) ? "," : " ";
+ #printf $out_fh " /* %X_ */", $i / 16 if $print_in_hex && $i % 16 == 15;
print $out_fh "\n" if $i % 16 == 15;
}
- print $out_fh "/* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F */\n" if $print_in_hex;
+ print $out_fh $column_numbers if $print_in_hex;
print $out_fh "};\n\n";
}
@@ -129,7 +132,8 @@ END
* entries marked 9 in tr16 are continuation bytes and are marked as length 1
* here so that we can recover. */
END
- output_table(\@utf8skip, "PL_utf8skip");
+ output_table(\@utf8skip, "PL_utf8skip", 0); # The 0 means don't print
+ # in hex
}
use feature 'unicode_strings';