Differentiate tracing functions between request and reply.

Added possibility to have dumping functions for specific types.
oldstable
Alexandre Julliard 1999-11-23 19:38:18 +00:00
parent af04ebe4bb
commit fbb9a9fddc
1 changed files with 18 additions and 6 deletions

View File

@ -14,7 +14,9 @@
"unsigned int" => "%08x", "unsigned int" => "%08x",
"void*" => "%p", "void*" => "%p",
"time_t" => "%ld", "time_t" => "%ld",
"char[1]" => "\\\"%s\\\"" "path_t" => "&dump_unicode_string",
"char[1]" => "\\\"%s\\\"",
"WCHAR[1]" => "&dump_unicode_string"
); );
my @requests = (); my @requests = ();
@ -128,15 +130,25 @@ sub DO_DUMP_FUNC
my $var = shift; my $var = shift;
if (defined($formats{$type})) if (defined($formats{$type}))
{ {
push @trace_lines, " fprintf( stderr, \" $var=$formats{$type}"; if ($formats{$type} =~ /^&(.*)/)
push @trace_lines, "," if ($#_ > 0); {
push @trace_lines, "\", "; my $func = $1;
push @trace_lines, "req->$var );\n"; 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, "\", ";
push @trace_lines, "req->$var );\n";
}
} }
else # must be some varargs format else # must be some varargs format
{ {
push @trace_lines, " fprintf( stderr, \" $var=\" );\n"; push @trace_lines, " fprintf( stderr, \" $var=\" );\n";
push @trace_lines, " dump_varargs_${name}( req );\n"; push @trace_lines, " dump_varargs_${name}_${req}( req );\n";
} }
} }
push @trace_lines, "}\n\n"; push @trace_lines, "}\n\n";