}
if (pService->param_opt != NULL) {
for (data = pService->param_opt; data; data = data->next) {
+ if (!show_defaults && (data->priority & FLAG_DEFAULT)) {
+ continue;
+ }
fprintf(f, "\t%s = %s\n", data->key, data->value);
}
}
}
}
+ for (parm=lp_ctx->sDefault->param_opt; parm; parm=parm->next) {
+ if (!(parm->priority & FLAG_CMDLINE)) {
+ parm->priority |= FLAG_DEFAULT;
+ }
+ }
+
+
return lp_ctx;
}
static bool bInGlobalSection = true;
static bool bGlobalOnly = false;
static struct file_lists *file_lists = NULL;
+static unsigned int *flags_list = NULL;
static void set_allowed_client_auth(void);
ZERO_STRUCT(Globals);
Globals.ctx = talloc_pooled_object(NULL, char, 272, 2048);
+ flags_list = talloc_zero_array(Globals.ctx, unsigned int, num_parameters());
for (i = 0; parm_table[i].label; i++) {
if ((parm_table[i].type == P_STRING ||
if (Globals.param_opt != NULL) {
data = Globals.param_opt;
while(data) {
+ if (!show_defaults && (data->priority & FLAG_DEFAULT)) {
+ data = data->next;
+ continue;
+ }
fprintf(f, "\t%s = %s\n", data->key, data->value);
data = data->next;
}
static void dump_a_service(struct loadparm_service *pService, FILE * f, bool show_defaults)
{
- return lpcfg_dump_a_service(pService, &sDefault, f, NULL, show_defaults);
+ return lpcfg_dump_a_service(pService, &sDefault, f, flags_list, show_defaults);
}
/***************************************************************************
static void lp_save_defaults(void)
{
int i;
+ struct parmlist_entry * parm;
for (i = 0; parm_table[i].label; i++) {
+ if (!(parm_table[i].flags & FLAG_CMDLINE)) {
+ flags_list[i] |= FLAG_DEFAULT;
+ }
+
if (i > 0 && parm_table[i].offset == parm_table[i - 1].offset
&& parm_table[i].p_class == parm_table[i - 1].p_class)
continue;
break;
}
}
+
+ for (parm=Globals.param_opt; parm; parm=parm->next) {
+ if (!(parm->priority & FLAG_CMDLINE)) {
+ parm->priority |= FLAG_DEFAULT;
+ }
+ }
+
+ for (parm=sDefault.param_opt; parm; parm=parm->next) {
+ if (!(parm->priority & FLAG_CMDLINE)) {
+ parm->priority |= FLAG_DEFAULT;
+ }
+ }
+
defaults_saved = true;
}