Declare DO_DUMP_FUNC() before calling it and call normally so that
perl can check its prototype.
diff --git a/tools/make_requests b/tools/make_requests
index dd7f359..de7c68c 100755
--- a/tools/make_requests
+++ b/tools/make_requests
@@ -49,6 +49,48 @@
+### Generate a dumping function
+
+sub DO_DUMP_FUNC($$@)
+{
+ my $name = shift;
+ my $req = shift;
+ push @trace_lines, "static void dump_${name}_$req( const struct ${name}_$req *req )\n{\n";
+ while ($#_ >= 0)
+ {
+ my $type = shift;
+ my $var = shift;
+ if (defined($formats{$type}))
+ {
+ if ($formats{$type} =~ /^&(.*)/)
+ {
+ my $func = $1;
+ push @trace_lines, " fprintf( stderr, \" $var=\" );\n";
+ push @trace_lines, " $func( &req->$var );\n";
+ push @trace_lines, " fprintf( stderr, \",\" );\n" if ($#_ > 0);
+ }
+ else
+ {
+ push @trace_lines, " fprintf( stderr, \" $var=$formats{$type}";
+ push @trace_lines, "," if ($#_ > 0);
+ push @trace_lines, "\", ";
+ # In the case of time_t we need to cast the parameter to
+ # long to match the associated "%ld" printf modifier.
+ push @trace_lines, "(long)" if( $type eq "time_t" );
+ push @trace_lines, "req->$var );\n";
+ }
+ }
+ else # must be some varargs format
+ {
+ my $func = $type;
+ push @trace_lines, " fprintf( stderr, \" $var=\" );\n";
+ push @trace_lines, " $func;\n";
+ push @trace_lines, " fputc( ',', stderr );\n" if ($#_ > 0);
+ }
+ }
+ push @trace_lines, "}\n\n";
+}
+
### Parse the request definitions
sub PARSE_REQUESTS()
@@ -116,11 +158,11 @@
# got a complete request
push @requests, $name;
- &DO_DUMP_FUNC( $name, "request", @in_struct);
+ DO_DUMP_FUNC( $name, "request", @in_struct);
if ($#out_struct >= 0)
{
$replies{$name} = 1;
- &DO_DUMP_FUNC( $name, "reply", @out_struct);
+ DO_DUMP_FUNC( $name, "reply", @out_struct);
}
$state = 1;
next;
@@ -167,48 +209,6 @@
close PROTOCOL;
}
-### Generate a dumping function
-
-sub DO_DUMP_FUNC($$@)
-{
- my $name = shift;
- my $req = shift;
- push @trace_lines, "static void dump_${name}_$req( const struct ${name}_$req *req )\n{\n";
- while ($#_ >= 0)
- {
- my $type = shift;
- my $var = shift;
- if (defined($formats{$type}))
- {
- if ($formats{$type} =~ /^&(.*)/)
- {
- my $func = $1;
- push @trace_lines, " fprintf( stderr, \" $var=\" );\n";
- push @trace_lines, " $func( &req->$var );\n";
- push @trace_lines, " fprintf( stderr, \",\" );\n" if ($#_ > 0);
- }
- else
- {
- push @trace_lines, " fprintf( stderr, \" $var=$formats{$type}";
- push @trace_lines, "," if ($#_ > 0);
- push @trace_lines, "\", ";
- # In the case of time_t we need to cast the parameter to
- # long to match the associated "%ld" printf modifier.
- push @trace_lines, "(long)" if( $type eq "time_t" );
- push @trace_lines, "req->$var );\n";
- }
- }
- else # must be some varargs format
- {
- my $func = $type;
- push @trace_lines, " fprintf( stderr, \" $var=\" );\n";
- push @trace_lines, " $func;\n";
- push @trace_lines, " fputc( ',', stderr );\n" if ($#_ > 0);
- }
- }
- push @trace_lines, "}\n\n";
-}
-
### Retrieve the server protocol version from the existing server_protocol.h file
sub GET_PROTOCOL_VERSION()