r8236: fixed support for arrays of structures
authorAndrew Tridgell <tridge@samba.org>
Fri, 8 Jul 2005 09:37:54 +0000 (09:37 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:19:23 +0000 (13:19 -0500)
(This used to be commit cbe5289ac9a8adfe68704dc16a2b32ecbd15a4eb)

source4/scripting/ejs/ejsrpc.c

index ab0f64d5aa96d6af241c16c4aa7f0ced893ca2cc..94987d69e124e245e79e90fc9e2e2d69991ea0c5 100644 (file)
@@ -126,7 +126,7 @@ static NTSTATUS mprSetVar(struct MprVar *v, const char *name, struct MprVar val)
 */
 NTSTATUS ejs_pull_struct_start(struct ejs_rpc *ejs, struct MprVar **v, const char *name)
 {
-       *v = mprGetProperty(*v, name, NULL);
+       *v = mprGetVar(*v, name);
        if (*v == NULL) {
                DEBUG(1,("ejs_pull_struct_start: missing structure '%s'\n", name));
                return NT_STATUS_INVALID_PARAMETER;
@@ -140,10 +140,10 @@ NTSTATUS ejs_pull_struct_start(struct ejs_rpc *ejs, struct MprVar **v, const cha
 */
 NTSTATUS ejs_push_struct_start(struct ejs_rpc *ejs, struct MprVar **v, const char *name)
 {
-       struct MprVar s = mprCreateObjVar(name, MPR_DEFAULT_HASH_SIZE);
-       *v = mprSetProperty(*v, name, &s);
+       NDR_CHECK(mprSetVar(*v, name, mprCreateObjVar(name, MPR_DEFAULT_HASH_SIZE)));
+       *v = mprGetVar(*v, name);
        if (*v == NULL) {
-               DEBUG(1,("ejs_push_struct_start: unable to set structure '%s'\n", name));
+               DEBUG(1,("ejs_push_struct_start: missing structure '%s'\n", name));
                return NT_STATUS_INVALID_PARAMETER;
        }
        return NT_STATUS_OK;