mirror of
https://github.com/samba-team/samba.git
synced 2025-10-18 19:33:16 +03:00
r26352: Don't make lp_load create a new context.
This commit is contained in:
committed by
Stefan Metzmacher
parent
c6da76b614
commit
d0d5c1a823
@@ -161,6 +161,14 @@ static int ejs_lpGet(MprVarHandle eid, int argc, char **argv)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
v = lp.filename(); obtain filename
|
||||
*/
|
||||
static int ejs_lpFilename(MprVarHandle eid, int argc, char **argv)
|
||||
{
|
||||
mpr_ReturnString(eid, lp_configfile(global_loadparm));
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
set a smb.conf parameter. Only sets in memory, not permanent
|
||||
@@ -188,8 +196,9 @@ static int ejs_lpSet(MprVarHandle eid, int argc, char **argv)
|
||||
static int ejs_lpReload(MprVarHandle eid, int argc, char **argv)
|
||||
{
|
||||
bool ret;
|
||||
|
||||
ret = lp_load(talloc_autofree_context(), lp_configfile(global_loadparm), NULL);
|
||||
const char *filename = lp_configfile(global_loadparm);
|
||||
|
||||
ret = lp_load(global_loadparm, filename);
|
||||
if (ret) {
|
||||
unload_interfaces();
|
||||
}
|
||||
@@ -208,6 +217,7 @@ static int ejs_loadparm_init(MprVarHandle eid, int argc, struct MprVar **argv)
|
||||
mprSetStringCFunction(obj, "set", ejs_lpSet);
|
||||
mprSetStringCFunction(obj, "reload", ejs_lpReload);
|
||||
mprSetStringCFunction(obj, "services", ejs_lpServices);
|
||||
mprSetStringCFunction(obj, "filename", ejs_lpFilename);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@@ -53,10 +53,12 @@ int main(int argc, const char **argv)
|
||||
|
||||
fault_setup(argv[0]);
|
||||
|
||||
global_loadparm = lp_ctx = loadparm_init(talloc_autofree_context());
|
||||
|
||||
if (getenv("SMB_CONF_PATH")) {
|
||||
lp_load(talloc_autofree_context(), getenv("SMB_CONF_PATH"), &lp_ctx);
|
||||
lp_load(lp_ctx, getenv("SMB_CONF_PATH"));
|
||||
} else {
|
||||
lp_load(talloc_autofree_context(), dyn_CONFIGFILE, &lp_ctx);
|
||||
lp_load(lp_ctx, dyn_CONFIGFILE);
|
||||
}
|
||||
|
||||
ldb_global_init();
|
||||
|
Reference in New Issue
Block a user