- p_module->p_config[i].i_value_orig = p_orig[i].i_value;
- p_module->p_config[i].f_value_orig = p_orig[i].f_value;
- p_module->p_config[i].i_value_saved = p_orig[i].i_value;
- p_module->p_config[i].f_value_saved = p_orig[i].f_value;
- p_module->p_config[i].psz_value_saved = 0;
-
- p_module->p_config[i].psz_type = p_orig[i].psz_type ?
- strdup( p_orig[i].psz_type ) : NULL;
- p_module->p_config[i].psz_name = p_orig[i].psz_name ?
- strdup( p_orig[i].psz_name ) : NULL;
- p_module->p_config[i].psz_current = p_orig[i].psz_current?
- strdup( p_orig[i].psz_current ) : NULL;
- p_module->p_config[i].psz_text = p_orig[i].psz_text ?
- strdup( _(p_orig[i].psz_text) ) : NULL;
- p_module->p_config[i].psz_longtext = p_orig[i].psz_longtext ?
- strdup( _(p_orig[i].psz_longtext) ) : NULL;
- p_module->p_config[i].psz_value = p_orig[i].psz_value ?
- strdup( p_orig[i].psz_value ) : NULL;
- p_module->p_config[i].psz_value_orig = p_orig[i].psz_value ?
- strdup( p_orig[i].psz_value ) : NULL;
+ if (IsConfigIntegerType (p_module->p_config[i].i_type))
+ {
+ p_module->p_config[i].orig.i = p_orig[i].value.i;
+ p_module->p_config[i].saved.i = p_orig[i].value.i;
+ }
+ else
+ if (IsConfigFloatType (p_module->p_config[i].i_type))
+ {
+ p_module->p_config[i].orig.f = p_orig[i].value.f;
+ p_module->p_config[i].saved.f = p_orig[i].value.f;
+ }
+ else
+ if (IsConfigStringType (p_module->p_config[i].i_type))
+ {
+ p_module->p_config[i].value.psz = strdupnull (p_orig[i].value.psz);
+ p_module->p_config[i].orig.psz = strdupnull (p_orig[i].value.psz);
+ p_module->p_config[i].saved.psz = NULL;
+ }
+
+ p_module->p_config[i].psz_type = strdupnull (p_orig[i].psz_type);
+ p_module->p_config[i].psz_name = strdupnull (p_orig[i].psz_name);
+ p_module->p_config[i].psz_current = strdupnull (p_orig[i].psz_current);
+ p_module->p_config[i].psz_text = _strdupnull (p_orig[i].psz_text);
+ p_module->p_config[i].psz_longtext = _strdupnull (p_orig[i].psz_longtext);