X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=ext%2FEncode%2Fbin%2Fenc2xs;h=6f6b10f4135d376b7ac77cc0240dba9585626a22;hb=f0a41339d8cc9b81101f492ab383301252ea41fd;hp=a54663cfe52c6d26f2a62be675b5f905dfe6ecb8;hpb=e1aed599ebc7bfaa5e43c8496e74c285a9b772c4;p=p5sagit%2Fp5-mst-13.2.git diff --git a/ext/Encode/bin/enc2xs b/ext/Encode/bin/enc2xs index a54663c..6f6b10f 100644 --- a/ext/Encode/bin/enc2xs +++ b/ext/Encode/bin/enc2xs @@ -8,7 +8,7 @@ BEGIN { use strict; use Getopt::Std; my @orig_ARGV = @ARGV; -our $VERSION = do { my @r = (q$Revision: 1.27 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; +our $VERSION = do { my @r = (q$Revision: 1.29 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; # These may get re-ordered. # RAW is a do_now as inserted by &enter @@ -265,6 +265,11 @@ if ($doC) my $sym = "${enc}_encoding"; $sym =~ s/\W+/_/g; print C "encode_t $sym = \n"; + # This is to make null encoding work -- dankogai + for (my $i = (scalar @info) - 1; $i >= 0; --$i){ + $info[$i] ||= 1; + } + # end of null tweak -- dankogai print C " {",join(',',@info,"{\"$enc\",(const char *)0}"),"};\n\n"; } @@ -702,7 +707,8 @@ sub outtable } if ($a->{'Forward'}) { - print $fh "\nstatic encpage_t $name\[",scalar(@{$a->{'Entries'}}),"];\n"; + my $var = $^O eq 'MacOS' ? 'extern' : 'static'; + print $fh "\n$var encpage_t $name\[",scalar(@{$a->{'Entries'}}),"];\n"; } $a->{'Done'} = 1; foreach my $b (@{$a->{'Entries'}})