From c11204339ae86604a6edd6491f5ee03bf5e3c950 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 8 Jul 2005 04:55:07 +0000 Subject: r8220: added auto-generation of ENUM constants in ejs wrapper. So we can now use the enum name instead of a integer in ejs scripts making rpc calls (This used to be commit a61cdee384c3002860016c1740276529493d318d) --- source4/scripting/ejs/ejsrpc.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'source4/scripting/ejs/ejsrpc.c') diff --git a/source4/scripting/ejs/ejsrpc.c b/source4/scripting/ejs/ejsrpc.c index 19c1a2fc8d..6536b94ca4 100644 --- a/source4/scripting/ejs/ejsrpc.c +++ b/source4/scripting/ejs/ejsrpc.c @@ -273,7 +273,8 @@ NTSTATUS ejs_pull_string(struct ejs_rpc *ejs, DEBUG(1,("ejs_pull_string: unable to find '%s'\n", name)); return NT_STATUS_INVALID_PARAMETER_MIX; } - *s = mprToString(var); + *s = talloc_strdup(ejs, mprToString(var)); + NT_STATUS_HAVE_NO_MEMORY(*s); return NT_STATUS_OK; } @@ -285,3 +286,21 @@ NTSTATUS ejs_push_string(struct ejs_rpc *ejs, { return mprSetVar(v, name, mprCreateStringVar(s, True)); } + +/* + setup a constant int +*/ +void ejs_set_constant_int(int eid, const char *name, int value) +{ + struct MprVar *v = ejsGetGlobalObject(eid); + mprSetVar(v, name, mprCreateIntegerVar(value)); +} + +/* + setup a constant string +*/ +void ejs_set_constant_string(int eid, const char *name, const char *value) +{ + struct MprVar *v = ejsGetGlobalObject(eid); + mprSetVar(v, name, mprCreateStringVar(value, False)); +} -- cgit