Author: metze
Date: 2007-10-30 06:24:43 +0000 (Tue, 30 Oct 2007)
New Revision: 25751

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=25751

Log:
use EJS_CHECK() instead of NDR_CHECK() in ejs code

metze

Modified:
   branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/EJS.pm
   branches/SAMBA_4_0/source/scripting/ejs/ejsrpc.h


Changeset:
Modified: branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/EJS.pm
===================================================================
--- branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/EJS.pm 2007-10-29 
21:25:26 UTC (rev 25750)
+++ branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/EJS.pm 2007-10-30 
06:24:43 UTC (rev 25751)
@@ -128,7 +128,7 @@
                } else {
                        $t = $e->{TYPE};
                }
-               $self->pidl("NDR_CHECK(ejs_pull_$t(ejs, v, $name, $var));");
+               $self->pidl("EJS_CHECK(ejs_pull_$t(ejs, v, $name, $var));");
        }
 }
 
@@ -164,7 +164,7 @@
        if (defined($pl) and $pl->{TYPE} eq "POINTER") {
                $var = get_pointer_to($var);
        }
-       $self->pidl("NDR_CHECK(ejs_pull_string(ejs, v, $name, $var));");
+       $self->pidl("EJS_CHECK(ejs_pull_string(ejs, v, $name, $var));");
 }
 
 ###########################
@@ -255,7 +255,7 @@
 {
        my ($self, $d, $varname) = @_;
        my $env = GenerateStructEnv($d, $varname);
-       $self->pidl("NDR_CHECK(ejs_pull_struct_start(ejs, &v, name));");
+       $self->pidl("EJS_CHECK(ejs_pull_struct_start(ejs, &v, name));");
     foreach my $e (@{$d->{ELEMENTS}}) {
                $self->EjsPullElementTop($e, $env);
        }
@@ -267,7 +267,7 @@
 {
        my ($self, $d, $varname) = @_;
        my $have_default = 0;
-       $self->pidl("NDR_CHECK(ejs_pull_struct_start(ejs, &v, name));");
+       $self->pidl("EJS_CHECK(ejs_pull_struct_start(ejs, &v, name));");
        $self->pidl("switch (ejs->switch_var) {");
        $self->indent;
        foreach my $e (@{$d->{ELEMENTS}}) {
@@ -317,7 +317,7 @@
        my ($self, $d, $varname) = @_;
        $self->EjsEnumConstant($d);
        $self->pidl("unsigned e;");
-       $self->pidl("NDR_CHECK(ejs_pull_enum(ejs, v, name, &e));");
+       $self->pidl("EJS_CHECK(ejs_pull_enum(ejs, v, name, &e));");
        $self->pidl("*$varname = e;");
 }
 
@@ -327,7 +327,7 @@
 {
        my ($self, $d, $varname) = @_;
        my $type_fn = $d->{BASE_TYPE};
-       $self->pidl("NDR_CHECK(ejs_pull_$type_fn(ejs, v, name, $varname));");
+       $self->pidl("EJS_CHECK(ejs_pull_$type_fn(ejs, v, name, $varname));");
 }
 
 sub EjsTypePullFunction($$$)
@@ -388,7 +388,7 @@
        $self->pidl("\nstatic NTSTATUS ejs_pull_$name(struct ejs_rpc *ejs, 
struct MprVar *v, struct $name *r)");
        $self->pidl("{");
        $self->indent;
-       $self->pidl("NDR_CHECK(ejs_pull_struct_start(ejs, &v, \"input\"));");
+       $self->pidl("EJS_CHECK(ejs_pull_struct_start(ejs, &v, \"input\"));");
 
        # we pull non-array elements before array elements as arrays
        # may have length_is() or size_is() properties that depend
@@ -427,7 +427,7 @@
                                        $var = get_pointer_to($var);
                        }
 
-               $self->pidl("NDR_CHECK(".TypeFunctionName("ejs_push", 
$e->{TYPE})."(ejs, v, $name, $var));");
+               $self->pidl("EJS_CHECK(".TypeFunctionName("ejs_push", 
$e->{TYPE})."(ejs, v, $name, $var));");
        }
 }
 
@@ -440,7 +440,7 @@
        if (defined($pl) and $pl->{TYPE} eq "POINTER") {
                $var = get_pointer_to($var);
        }
-       $self->pidl("NDR_CHECK(ejs_push_string(ejs, v, $name, $var));");
+       $self->pidl("EJS_CHECK(ejs_push_string(ejs, v, $name, $var));");
 }
 
 ###########################
@@ -453,7 +453,7 @@
        if ($l->{POINTER_TYPE} eq "ref") {
                $self->pidl("return NT_STATUS_INVALID_PARAMETER_MIX;");
        } else {
-               $self->pidl("NDR_CHECK(ejs_push_null(ejs, v, $name));");
+               $self->pidl("EJS_CHECK(ejs_push_null(ejs, v, $name));");
        }
        $self->deindent;
        $self->pidl("} else {");
@@ -543,7 +543,7 @@
 {
        my ($self, $d, $varname) = @_;
        my $env = GenerateStructEnv($d, $varname);
-       $self->pidl("NDR_CHECK(ejs_push_struct_start(ejs, &v, name));");
+       $self->pidl("EJS_CHECK(ejs_push_struct_start(ejs, &v, name));");
         foreach my $e (@{$d->{ELEMENTS}}) {
                $self->EjsPushElementTop($e, $env);
        }
@@ -555,7 +555,7 @@
 {
        my ($self, $d, $varname) = @_;
        my $have_default = 0;
-       $self->pidl("NDR_CHECK(ejs_push_struct_start(ejs, &v, name));");
+       $self->pidl("EJS_CHECK(ejs_push_struct_start(ejs, &v, name));");
        $self->pidl("switch (ejs->switch_var) {");
        $self->indent;
        foreach my $e (@{$d->{ELEMENTS}}) {
@@ -587,7 +587,7 @@
        my ($self, $d, $varname) = @_;
        $self->EjsEnumConstant($d);
        $self->pidl("unsigned e = ".get_value_of($varname).";");
-       $self->pidl("NDR_CHECK(ejs_push_enum(ejs, v, name, &e));");
+       $self->pidl("EJS_CHECK(ejs_push_enum(ejs, v, name, &e));");
 }
 
 ###########################
@@ -604,7 +604,7 @@
                        $self->{constants}->{$bname} = $v;
                }
        }
-       $self->pidl("NDR_CHECK(ejs_push_$type_fn(ejs, v, name, $varname));");
+       $self->pidl("EJS_CHECK(ejs_push_$type_fn(ejs, v, name, $varname));");
 }
 
 sub EjsTypePushFunction($$$)
@@ -667,7 +667,7 @@
        $self->pidl("\nstatic NTSTATUS ejs_push_$d->{NAME}(struct ejs_rpc *ejs, 
struct MprVar *v, const struct $d->{NAME} *r)");
        $self->pidl("{");
        $self->indent;
-       $self->pidl("NDR_CHECK(ejs_push_struct_start(ejs, &v, \"output\"));");
+       $self->pidl("EJS_CHECK(ejs_push_struct_start(ejs, &v, \"output\"));");
 
        foreach my $e (@{$d->{ELEMENTS}}) {
                next unless (grep(/out/, @{$e->{DIRECTION}}));
@@ -675,7 +675,7 @@
        }
 
        if ($d->{RETURN_TYPE}) {
-               $self->pidl("NDR_CHECK(".TypeFunctionName("ejs_push", 
$d->{RETURN_TYPE})."(ejs, v, \"result\", &r->out.result));");
+               $self->pidl("EJS_CHECK(".TypeFunctionName("ejs_push", 
$d->{RETURN_TYPE})."(ejs, v, \"result\", &r->out.result));");
        }
 
        $self->pidl("return NT_STATUS_OK;");

Modified: branches/SAMBA_4_0/source/scripting/ejs/ejsrpc.h
===================================================================
--- branches/SAMBA_4_0/source/scripting/ejs/ejsrpc.h    2007-10-29 21:25:26 UTC 
(rev 25750)
+++ branches/SAMBA_4_0/source/scripting/ejs/ejsrpc.h    2007-10-30 06:24:43 UTC 
(rev 25751)
@@ -152,6 +152,14 @@
        if (!(s)) return ejs_panic(ejs, "out of memory"); \
 } while (0)
 
+#define EJS_CHECK(cmd) do { \
+       NTSTATUS _status; \
+       _status = cmd; \
+       if (!NT_STATUS_IS_OK(_status)) { \
+               return _status; \
+       } \
+} while (0)
+
 /* some types are equivalent for ejs */
 #define ejs_pull_dom_sid2 ejs_pull_dom_sid
 #define ejs_push_dom_sid2 ejs_push_dom_sid

Reply via email to