#!./perl.static -w

#
# Fix up generated .ph files
#

use strict;
use File::Find;
use Config;

my @args = @ARGV;
@ARGV = ();
find sub { push @ARGV, $File::Find::name if -f and /\.ph$/ }, @args;

$^I = '';

while (<>)
{
    # discard casts
    s/(?<!\$sizeof{)(&__const\s+)?\\'struct[^\\']+\\'[^;]*;/1;/g;
    s/'char'\[\d+\]/1/g;

    print;

    # ugh, can't work out why __LONG_MAX__ isn't defined--kludge
    print <<EOT if $ARGV =~ m!/_h2ph_pre\.ph$! and eof;
# gross hack
unless (defined &__LONG_MAX__) { sub __LONG_MAX__ { 2147483647 } }

EOT
}
