my @wrapper_hooks;
run_hooks(genwrapper => sub { push @wrapper_hooks, shift->() });
- my $check_args=" return 0;";
- run_hooks(wrapperargcheck => sub { $check_args = shift->(); });
-
my $check_commit_hook="";
my $pre_exec="";
if ($config{post_commit}) {
newenviron[i++]=s;
}
-int checkargs(int argc, char **argv) {
-$check_args
-}
-
int main (int argc, char **argv) {
char *s;
- if (!checkargs(argc, argv))
- exit(0);
-
$check_commit_hook
@wrapper_hooks
$envsave
}
EOF
- my $cc=exists $ENV{CC} ? possibly_foolish_untaint($ENV{CC}) : 'cc';
- if (system($cc, "$wrapper.c", "-o", "$wrapper.new") != 0) {
+ my @cc=exists $ENV{CC} ? possibly_foolish_untaint($ENV{CC}) : 'cc';
+ push @cc, possibly_foolish_untaint($ENV{CFLAGS}) if exists $ENV{CFLAGS};
+ if (system(@cc, "$wrapper.c", "-o", "$wrapper.new") != 0) {
#translators: The parameter is a C filename.
error(sprintf(gettext("failed to compile %s"), "$wrapper.c"));
}