summaryrefslogtreecommitdiff
path: root/source4/scripting/ejs/smbcalls_creds.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/scripting/ejs/smbcalls_creds.c')
-rw-r--r--source4/scripting/ejs/smbcalls_creds.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/source4/scripting/ejs/smbcalls_creds.c b/source4/scripting/ejs/smbcalls_creds.c
index 45da5895e4..cc2ccf8c47 100644
--- a/source4/scripting/ejs/smbcalls_creds.c
+++ b/source4/scripting/ejs/smbcalls_creds.c
@@ -185,10 +185,8 @@ static int ejs_creds_get_workstation(MprVarHandle eid, int argc, struct MprVar *
/*
initialise credentials ejs object
*/
-static int ejs_credentials_obj(MprVarHandle eid, int argc, struct MprVar **argv, struct cli_credentials *creds)
+static int ejs_credentials_obj(struct MprVar *obj, struct cli_credentials *creds)
{
- struct MprVar *obj = mprInitObject(eid, "credentials", argc, argv);
-
mprSetPtrChild(obj, "creds", creds);
/* setup our object methods */
@@ -207,19 +205,30 @@ static int ejs_credentials_obj(MprVarHandle eid, int argc, struct MprVar **argv,
}
+struct MprVar mprCredentials(struct cli_credentials *creds)
+{
+ struct MprVar mpv = mprObject("credentials");
+
+ ejs_credentials_obj(&mpv, creds);
+
+ return mpv;
+}
+
+
/*
initialise credentials ejs object
*/
static int ejs_credentials_init(MprVarHandle eid, int argc, struct MprVar **argv)
{
struct cli_credentials *creds;
+ struct MprVar *obj = mprInitObject(eid, "credentials", argc, argv);
creds = cli_credentials_init(mprMemCtx());
if (creds == NULL) {
return -1;
}
- return ejs_credentials_obj(eid, argc, argv, creds);
+ return ejs_credentials_obj(obj, creds);
}
/*
@@ -227,7 +236,8 @@ static int ejs_credentials_init(MprVarHandle eid, int argc, struct MprVar **argv
*/
int ejs_credentials_cmdline(int eid, int argc, struct MprVar **argv)
{
- return ejs_credentials_obj(eid, argc, argv, cmdline_credentials);
+ struct MprVar *obj = mprInitObject(eid, "credentials", argc, argv);
+ return ejs_credentials_obj(obj, cmdline_credentials);
}