r8581: fixed handling of 64 bit integers in rpc calls from ejs
authorAndrew Tridgell <tridge@samba.org>
Tue, 19 Jul 2005 06:07:10 +0000 (06:07 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:29:41 +0000 (13:29 -0500)
(This used to be commit 2ae6a338466bf287ea2180d5ad7313ba116b88ca)

source4/scripting/ejs/ejsrpc.c

index 08bc4a94ba68e35d292394f62eb0eae1b312a554..5e81e21e4f332236ec93d9d0d74fbc68d931ddab 100644 (file)
@@ -136,56 +136,50 @@ NTSTATUS ejs_pull_hyper(struct ejs_rpc *ejs,
                        struct MprVar *v, const char *name, uint64_t *r)
 {
        NDR_CHECK(mprGetVar(&v, name));
-       *r = mprVarToInteger(v);
+       *r = mprVarToNumber(v);
        return NT_STATUS_OK;
 }
 
 NTSTATUS ejs_push_hyper(struct ejs_rpc *ejs, 
                        struct MprVar *v, const char *name, const uint64_t *r)
 {
-       return mprSetVar(v, name, mprCreateIntegerVar(*r));
+       return mprSetVar(v, name, mprCreateNumberVar(*r));
 }
 
 NTSTATUS ejs_pull_dlong(struct ejs_rpc *ejs, 
                        struct MprVar *v, const char *name, uint64_t *r)
 {
-       NDR_CHECK(mprGetVar(&v, name));
-       *r = mprVarToInteger(v);
-       return NT_STATUS_OK;
+       return ejs_pull_hyper(ejs, v, name, r);
 }
 
 NTSTATUS ejs_push_dlong(struct ejs_rpc *ejs, 
                        struct MprVar *v, const char *name, const uint64_t *r)
 {
-       return mprSetVar(v, name, mprCreateIntegerVar(*r));
+       return ejs_push_hyper(ejs, v, name, r);
 }
 
 NTSTATUS ejs_pull_udlong(struct ejs_rpc *ejs, 
                        struct MprVar *v, const char *name, uint64_t *r)
 {
-       NDR_CHECK(mprGetVar(&v, name));
-       *r = mprVarToInteger(v);
-       return NT_STATUS_OK;
+       return ejs_pull_hyper(ejs, v, name, r);
 }
 
 NTSTATUS ejs_push_udlong(struct ejs_rpc *ejs, 
                        struct MprVar *v, const char *name, const uint64_t *r)
 {
-       return mprSetVar(v, name, mprCreateIntegerVar(*r));
+       return ejs_push_hyper(ejs, v, name, r);
 }
 
 NTSTATUS ejs_pull_NTTIME(struct ejs_rpc *ejs, 
                        struct MprVar *v, const char *name, uint64_t *r)
 {
-       NDR_CHECK(mprGetVar(&v, name));
-       *r = mprVarToInteger(v);
-       return NT_STATUS_OK;
+       return ejs_pull_hyper(ejs, v, name, r);
 }
 
 NTSTATUS ejs_push_NTTIME(struct ejs_rpc *ejs, 
                        struct MprVar *v, const char *name, const uint64_t *r)
 {
-       return mprSetVar(v, name, mprCreateIntegerVar(*r));
+       return ejs_push_hyper(ejs, v, name, r);
 }