diff options
Diffstat (limited to 'pidl')
-rw-r--r-- | pidl/TODO | 3 | ||||
-rw-r--r-- | pidl/config.mk | 4 | ||||
-rw-r--r-- | pidl/lib/Parse/Pidl/ODL.pm | 4 | ||||
-rw-r--r-- | pidl/lib/Parse/Pidl/Samba4/Python.pm | 10 | ||||
-rwxr-xr-x[-rw-r--r--] | pidl/tests/samba3-srv.pl | 0 |
5 files changed, 16 insertions, 5 deletions
@@ -1,8 +1,5 @@ - warn when union instances don't have a discriminant -- EJS output backend shouldn't use the NDR levels stuff but instead - as the "C levels" and NDR levels don't necessarily match. - - true multiple dimension array / strings in arrays support - compatibility mode for generating MIDL-readable data: diff --git a/pidl/config.mk b/pidl/config.mk index 07c8647ecd..45582f5d56 100644 --- a/pidl/config.mk +++ b/pidl/config.mk @@ -1,13 +1,13 @@ PIDL = $(PERL) $(pidldir)/pidl $(pidldir)/Makefile: $(pidldir)/Makefile.PL - cd $(pidldir) && $(PERL) Makefile.PL PREFIX=$(prefix) + @cd $(pidldir) && $(PERL) Makefile.PL PREFIX=$(prefix) pidl-testcov: $(pidldir)/Makefile cd $(pidldir) && cover -test installpidl:: $(pidldir)/Makefile - $(MAKE) -C $(pidldir) install_vendor VENDORPREFIX=$(prefix) \ + @$(MAKE) -C $(pidldir) install_vendor VENDORPREFIX=$(prefix) \ INSTALLVENDORLIB=$(datarootdir)/perl5 \ INSTALLVENDORBIN=$(bindir) \ INSTALLVENDORSCRIPT=$(bindir) \ diff --git a/pidl/lib/Parse/Pidl/ODL.pm b/pidl/lib/Parse/Pidl/ODL.pm index ad8c76f622..c49cdfb795 100644 --- a/pidl/lib/Parse/Pidl/ODL.pm +++ b/pidl/lib/Parse/Pidl/ODL.pm @@ -57,6 +57,10 @@ sub ODL2IDL if ($x->{TYPE} eq "IMPORT") { foreach my $idl_file (@{$x->{PATHS}}) { $idl_file = unmake_str($idl_file); + unless (-f "$basedir/$idl_file") { + error($x, "Unable to open include file `$idl_file'"); + next; + } my $podl = Parse::Pidl::IDL::parse_file("$basedir/$idl_file", $opt_incdirs); if (defined(@$podl)) { require Parse::Pidl::Typelist; diff --git a/pidl/lib/Parse/Pidl/Samba4/Python.pm b/pidl/lib/Parse/Pidl/Samba4/Python.pm index 74cec5a827..fc64c35fca 100644 --- a/pidl/lib/Parse/Pidl/Samba4/Python.pm +++ b/pidl/lib/Parse/Pidl/Samba4/Python.pm @@ -1173,6 +1173,7 @@ sub Parse($$$$$) $self->pidl("{"); $self->indent; $self->pidl("PyObject *m;"); + $self->pidl("NTSTATUS status;"); $self->pidl(""); foreach (@{$self->{ready_types}}) { @@ -1208,6 +1209,15 @@ sub Parse($$$$$) $self->pidl("PyModule_AddObject(m, \"$object_name\", $c_name);"); } + $self->pidl(""); + $self->pidl("status = dcerpc_init();"); + $self->pidl("if (!NT_STATUS_IS_OK(status)) {"); + $self->indent; + $self->pidl("PyErr_SetNTSTATUS(status);"); + $self->pidl("return;"); + $self->deindent; + $self->pidl("}"); + $self->deindent; $self->pidl("}"); return ($self->{res_hdr}, $self->{res}); diff --git a/pidl/tests/samba3-srv.pl b/pidl/tests/samba3-srv.pl index d1e2bc9545..d1e2bc9545 100644..100755 --- a/pidl/tests/samba3-srv.pl +++ b/pidl/tests/samba3-srv.pl |