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:
parent
3e941e6a92
commit
d9cdaccaa7
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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,
|
||||
|
@ -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 }},
|
||||
";
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user