summaryrefslogtreecommitdiff
path: root/source4/scripting/ejs/ejsrpc.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-07-08 10:29:18 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:19:23 -0500
commit987e67df52ad906db5c80df736eea762d52814b6 (patch)
tree7862fade8c3332b5c0404451bff36899508ee8f2 /source4/scripting/ejs/ejsrpc.c
parentd1298d9c81979da73be30f4b38f592636c81607b (diff)
downloadsamba-987e67df52ad906db5c80df736eea762d52814b6.tar.gz
samba-987e67df52ad906db5c80df736eea762d52814b6.tar.bz2
samba-987e67df52ad906db5c80df736eea762d52814b6.zip
r8238: - fixed handling of NULL pointers from ejs
- added automatic creation of all constants in IDL as ejs variables (This used to be commit 9398b02e4ba51145e447668e321ca927f44c0078)
Diffstat (limited to 'source4/scripting/ejs/ejsrpc.c')
-rw-r--r--source4/scripting/ejs/ejsrpc.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/source4/scripting/ejs/ejsrpc.c b/source4/scripting/ejs/ejsrpc.c
index 94987d69e1..992defe8bb 100644
--- a/source4/scripting/ejs/ejsrpc.c
+++ b/source4/scripting/ejs/ejsrpc.c
@@ -406,3 +406,20 @@ NTSTATUS ejs_push_GUID(struct ejs_rpc *ejs,
NT_STATUS_HAVE_NO_MEMORY(guid);
return mprSetVar(v, name, mprCreateStringVar(guid, True));
}
+
+NTSTATUS ejs_push_null(struct ejs_rpc *ejs, struct MprVar *v, const char *name)
+{
+ return mprSetVar(v, name, mprCreatePtrVar(NULL, name));
+}
+
+BOOL ejs_pull_null(struct ejs_rpc *ejs, struct MprVar *v, const char *name)
+{
+ v = mprGetVar(v, name);
+ if (v == NULL) {
+ return True;
+ }
+ if (v->type == MPR_TYPE_PTR && v->ptr == NULL) {
+ return True;
+ }
+ return False;
+}