svn commit: samba r25751 - in branches/SAMBA_4_0/source: pidl/lib/Parse/Pidl/Samba4 scripting/ejs

metze at samba.org metze at samba.org
Tue Oct 30 06:24:44 GMT 2007


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



More information about the samba-cvs mailing list