- if( p_item->i_type & CONFIG_HINT )
- /* ignore hints */
- continue;
-
- if( !strcmp( p_item->psz_name, psz_option_name ) )
- {
- /* We found it */
- switch( p_item->i_type )
- {
- case CONFIG_ITEM_BOOL:
- case CONFIG_ITEM_INTEGER:
- if( !*psz_option_value )
- break; /* ignore empty option */
- p_item->i_value = strtol( psz_option_value, 0, 0 );
-#if 0
- msg_Dbg( p_this, "option \"%s\", value %i",
- p_item->psz_name, p_item->i_value );
-#endif
- break;
-
- case CONFIG_ITEM_FLOAT:
- if( !*psz_option_value )
- break; /* ignore empty option */
- p_item->f_value = (float)atof( psz_option_value);
-#if O
- msg_Dbg( p_this, "option \"%s\", value %f",
- p_item->psz_name, (double)p_item->f_value );
-#endif
- break;
- case CONFIG_ITEM_KEY:
- if( !*psz_option_value )
- break; /* ignore empty option */
- p_item->i_value = ConfigStringToKey( psz_option_value );
- break;
-
- default:
- vlc_mutex_lock( p_item->p_lock );
-
- /* free old string */
- if( p_item->psz_value )
- free( p_item->psz_value );
-
- p_item->psz_value = *psz_option_value ?
- strdup( psz_option_value ) : NULL;
-
- vlc_mutex_unlock( p_item->p_lock );
-
-#if 0
- msg_Dbg( p_this, "option \"%s\", value \"%s\"",
- p_item->psz_name,
- p_item->psz_value ? p_item->psz_value : "" );
-#endif
- break;
- }
- }
+ case CONFIG_ITEM_BOOL:
+ case CONFIG_ITEM_INTEGER:
+ if( !*psz_option_value )
+ break; /* ignore empty option */
+ p_item->value.i = strtol( psz_option_value, 0, 0 );
+ p_item->saved.i = p_item->value.i;
+
+ /*msg_Dbg (p_this, "option \"%s\", value %i",
+ psz_option_name, p_item->value.i);*/
+ break;
+
+ case CONFIG_ITEM_FLOAT:
+ if( !*psz_option_value )
+ break; /* ignore empty option */
+ p_item->value.f = (float)i18n_atof( psz_option_value);
+ p_item->saved.f = p_item->value.f;
+
+ /*msg_Dbg (p_this, "option \"%s\", value %f",
+ psz_option_name, (double)p_item->value.f);*/
+ break;
+
+ case CONFIG_ITEM_KEY:
+ if( !*psz_option_value )
+ break; /* ignore empty option */
+ p_item->value.i = ConfigStringToKey(psz_option_value);
+ p_item->saved.i = p_item->value.i;
+ break;
+
+ default:
+ vlc_mutex_lock( p_item->p_lock );
+
+ /* free old string */
+ free( (char*) p_item->value.psz );
+ free( (char*) p_item->saved.psz );
+
+ p_item->value.psz = convert (psz_option_value);
+ p_item->saved.psz = strdupnull (p_item->value.psz);
+
+ vlc_mutex_unlock( p_item->p_lock );
+
+ /*msg_Dbg (p_this, "option \"%s\", value \"%s\"",
+ psz_option_name, psz_option_value ?: "");*/
+ break;