svn commit: samba r8195 - in branches/SAMBA_4_0/source/scripting/ejs: .

tridge at samba.org tridge at samba.org
Thu Jul 7 07:42:47 GMT 2005


Author: tridge
Date: 2005-07-07 07:42:47 +0000 (Thu, 07 Jul 2005)
New Revision: 8195

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

Log:
- fixed handling of simple arrays. To keep the logic simple, I moved to making all push
  functions taking a constant pointer to the type rather than having a different calling
  convention for scalars and pointers

- fixed the setting of the 'length' element in arrays


Modified:
   branches/SAMBA_4_0/source/scripting/ejs/ejsrpc.c
   branches/SAMBA_4_0/source/scripting/ejs/ejsrpc.h


Changeset:
Modified: branches/SAMBA_4_0/source/scripting/ejs/ejsrpc.c
===================================================================
--- branches/SAMBA_4_0/source/scripting/ejs/ejsrpc.c	2005-07-07 06:27:23 UTC (rev 8194)
+++ branches/SAMBA_4_0/source/scripting/ejs/ejsrpc.c	2005-07-07 07:42:47 UTC (rev 8195)
@@ -138,9 +138,9 @@
 }
 
 NTSTATUS ejs_push_uint8(struct ejs_rpc *ejs, 
-			struct MprVar *v, const char *name, uint8_t r)
+			struct MprVar *v, const char *name, const uint8_t *r)
 {
-	return mprSetVar(v, name, mprCreateIntegerVar(r));
+	return mprSetVar(v, name, mprCreateIntegerVar(*r));
 }
 
 /*
@@ -160,9 +160,9 @@
 }
 
 NTSTATUS ejs_push_uint16(struct ejs_rpc *ejs, 
-			 struct MprVar *v, const char *name, uint16_t r)
+			 struct MprVar *v, const char *name, const uint16_t *r)
 {
-	return mprSetVar(v, name, mprCreateIntegerVar(r));
+	return mprSetVar(v, name, mprCreateIntegerVar(*r));
 }
 
 /*
@@ -181,9 +181,9 @@
 }
 
 NTSTATUS ejs_push_uint32(struct ejs_rpc *ejs, 
-			 struct MprVar *v, const char *name, uint32_t r)
+			 struct MprVar *v, const char *name, const uint32_t *r)
 {
-	return mprSetVar(v, name, mprCreateIntegerVar(r));
+	return mprSetVar(v, name, mprCreateIntegerVar(*r));
 }
 
 NTSTATUS ejs_pull_hyper(struct ejs_rpc *ejs, 
@@ -199,9 +199,9 @@
 }
 
 NTSTATUS ejs_push_hyper(struct ejs_rpc *ejs, 
-			struct MprVar *v, const char *name, uint64_t r)
+			struct MprVar *v, const char *name, const uint64_t *r)
 {
-	return mprSetVar(v, name, mprCreateIntegerVar(r));
+	return mprSetVar(v, name, mprCreateIntegerVar(*r));
 }
 
 
@@ -223,9 +223,9 @@
 }
 
 NTSTATUS ejs_push_enum(struct ejs_rpc *ejs, 
-		       struct MprVar *v, const char *name, unsigned r)
+		       struct MprVar *v, const char *name, const unsigned *r)
 {
-	return mprSetVar(v, name, mprCreateIntegerVar(r));
+	return mprSetVar(v, name, mprCreateIntegerVar(*r));
 }
 
 
@@ -252,7 +252,7 @@
 		NDR_CHECK(ejs_pull(ejs, v, id, (i*elsize)+data));
 		talloc_free(id);
 	}
-	return mprSetVar(v, "length", mprCreateIntegerVar(i));
+	return NT_STATUS_OK;
 }
 
 
@@ -276,6 +276,6 @@
 		NDR_CHECK(ejs_push(ejs, v, id, (i*elsize)+data));
 		talloc_free(id);
 	}
-	return NT_STATUS_OK;
+	return mprSetVar(v, "length", mprCreateIntegerVar(i));
 }
 			

Modified: branches/SAMBA_4_0/source/scripting/ejs/ejsrpc.h
===================================================================
--- branches/SAMBA_4_0/source/scripting/ejs/ejsrpc.h	2005-07-07 06:27:23 UTC (rev 8194)
+++ branches/SAMBA_4_0/source/scripting/ejs/ejsrpc.h	2005-07-07 07:42:47 UTC (rev 8195)
@@ -40,23 +40,23 @@
 NTSTATUS ejs_pull_uint8(struct ejs_rpc *ejs, 
 			struct MprVar *v, const char *name, uint8_t *r);
 NTSTATUS ejs_push_uint8(struct ejs_rpc *ejs, 
-			struct MprVar *v, const char *name, uint8_t r);
+			struct MprVar *v, const char *name, const uint8_t *r);
 NTSTATUS ejs_pull_uint16(struct ejs_rpc *ejs, 
 			 struct MprVar *v, const char *name, uint16_t *r);
 NTSTATUS ejs_push_uint16(struct ejs_rpc *ejs, 
-			 struct MprVar *v, const char *name, uint16_t r);
+			 struct MprVar *v, const char *name, const uint16_t *r);
 NTSTATUS ejs_pull_uint32(struct ejs_rpc *ejs, 
 			 struct MprVar *v, const char *name, uint32_t *r);
 NTSTATUS ejs_push_uint32(struct ejs_rpc *ejs, 
-			 struct MprVar *v, const char *name, uint32_t r);
+			 struct MprVar *v, const char *name, const uint32_t *r);
 NTSTATUS ejs_pull_hyper(struct ejs_rpc *ejs, 
 			struct MprVar *v, const char *name, uint64_t *r);
 NTSTATUS ejs_push_hyper(struct ejs_rpc *ejs, 
-			struct MprVar *v, const char *name, uint64_t r);
+			struct MprVar *v, const char *name, const uint64_t *r);
 NTSTATUS ejs_pull_enum(struct ejs_rpc *ejs, 
 		       struct MprVar *v, const char *name, unsigned *r);
 NTSTATUS ejs_push_enum(struct ejs_rpc *ejs, 
-		       struct MprVar *v, const char *name, unsigned r);
+		       struct MprVar *v, const char *name, const unsigned *r);
 NTSTATUS ejs_pull_array(struct ejs_rpc *ejs, 
 			struct MprVar *v, const char *name, uint32_t length,
 			size_t elsize, void **r, ejs_pull_t ejs_pull);



More information about the samba-cvs mailing list