1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-27 22:50:26 +03:00

r10093: Fix the HF_FIELD conformance file command

(This used to be commit 0c0a4b55cff4079276073060dae91ff0c19af42f)
This commit is contained in:
Jelmer Vernooij 2005-09-08 21:59:40 +00:00 committed by Gerald (Jerry) Carter
parent 3e941e6a92
commit d9cdaccaa7
6 changed files with 21 additions and 19 deletions

View File

@ -1,9 +1,10 @@
Introduction:
=============
This directory contains the source code of the pidl (Perl IDL)
compiler.
compiler for Samba 4.
pidl is the main file of pidl.
The main sources for pidl are available by Subversion on
svn+ssh://svnanon.samba.org/samba/branches/SAMBA_4_0/source/pidl
Pidl works by building a parse tree from a .pidl file (a simple
dump of it's internal parse tree) or a .idl file

View File

@ -3,9 +3,10 @@
- compatibility mode for generating MIDL-readable data:
- strip out pidl-specific properties
- convert subcontext() to an array of uint8.
- perhaps replace subcontext() with something more generic? The argument
to subcontext() isn't really intuitive at the moment
- don't be so strict on array boundaries.. arrays can and will be empty when
a (regular) remote error occurs
- support nested elements
- fix stand-alone installation

View File

@ -422,7 +422,7 @@ sub parse_idl($$)
undef $/;
my $cpp = $ENV{CPP};
if (! defined $cpp) {
$cpp = "CPP";
$cpp = "cpp";
}
my $data = `$cpp -D__PIDL__ -xc $filename`;
$/ = $saved_delim;

View File

@ -29,7 +29,6 @@ sub handle_type($$$$$$$$)
};
}
sub handle_hf_rename($$$)
{
my ($data,$old,$new) = @_;
@ -45,11 +44,11 @@ sub handle_param_value($$$)
sub handle_hf_field($$$$$$$$$)
{
my ($data,$hf,$title,$filter,$ft_type,$base_type,$valsstring,$mask,$blurb) = @_;
my ($data,$index,$name,$filter,$ft_type,$base_type,$valsstring,$mask,$blurb) = @_;
$data->{header_fields}->{$hf} = {
HF => $hf,
TITLE => $title,
$data->{header_fields}->{$index} = {
INDEX => $index,
NAME => $name,
FILTER => $filter,
FT_TYPE => $ft_type,
BASE_TYPE => $base_type,

View File

@ -16,10 +16,9 @@ use Parse::Pidl::Dump qw(DumpTypedef DumpFunction);
use Parse::Pidl::Ethereal::Conformance qw(ReadConformance);
my %types;
my %hf;
my @ett;
my $conformance = {imports=>{}};
my $conformance = undef;
my %ptrtype_mappings = (
"unique" => "NDR_POINTER_UNIQUE",
@ -671,7 +670,10 @@ sub Initialize($)
{
my $cnf_file = shift;
$conformance = {};
$conformance = {
imports => {},
header_fields=> {}
};
ReadConformance($cnf_file, $conformance) or print "Warning: No conformance file `$cnf_file'\n";
@ -716,7 +718,6 @@ sub Parse($$$$)
$tabs = "";
%res = (code=>"",def=>"",hdr=>"");
%hf = ();
@ett = ();
my $notice =
@ -814,13 +815,13 @@ sub register_hf_field($$$$$$$$)
return $conformance->{hf_renames}->{$index} if defined ($conformance->{hf_renames}->{$index});
$hf{$index} = {
$conformance->{header_fields}->{$index} = {
INDEX => $index,
NAME => $name,
FILTER => $filter_name,
FT_TYPE => $ft_type,
BASE_TYPE => $base_type,
VALS => $valsstring,
VALSSTRING => $valsstring,
MASK => $mask,
BLURB => $blurb
};
@ -834,7 +835,7 @@ sub DumpHfDeclaration()
$res = "\n/* Header field declarations */\n";
foreach (keys %hf)
foreach (keys %{$conformance->{header_fields}})
{
$res .= "static gint $_ = -1;\n";
}
@ -846,10 +847,10 @@ sub DumpHfList()
{
my $res = "\tstatic hf_register_info hf[] = {\n";
foreach (values %hf)
foreach (values %{$conformance->{header_fields}})
{
$res .= "\t{ &$_->{INDEX},
{ \"$_->{NAME}\", \"$_->{FILTER}\", $_->{FT_TYPE}, $_->{BASE_TYPE}, $_->{VALS}, $_->{MASK}, \"$_->{BLURB}\", HFILL }},
{ \"$_->{NAME}\", \"$_->{FILTER}\", $_->{FT_TYPE}, $_->{BASE_TYPE}, $_->{VALSSTRING}, $_->{MASK}, \"$_->{BLURB}\", HFILL }},
";
}

View File

@ -2775,7 +2775,7 @@ sub parse_idl($$)
undef $/;
my $cpp = $ENV{CPP};
if (! defined $cpp) {
$cpp = "CPP";
$cpp = "cpp";
}
my $data = `$cpp -D__PIDL__ -xc $filename`;
$/ = $saved_delim;