]> git.sesse.net Git - vlc/blobdiff - include/vlc_configuration.h
Check only one time the return value of malloc.
[vlc] / include / vlc_configuration.h
index b41373f6aefc5e354417639f1b5479e774a2f11f..43258e0a516cf599947d867d32a2dbcf0c923c65 100644 (file)
@@ -190,6 +190,8 @@ struct module_config_t
     /* Option values loaded from config file */
     vlc_bool_t   b_autosave;      /* Config will be auto-saved at exit time */
     vlc_bool_t   b_unsaveable;                    /* Config should be saved */
+
+    vlc_bool_t   b_safe;
 };
 
 /*****************************************************************************
@@ -279,6 +281,9 @@ enum vlc_config_properties
 
     VLC_CONFIG_OLDNAME,
     /* former option name (args=const char *) */
+
+    VLC_CONFIG_SAFE,
+    /* tag as modifiable by untrusted input item "sources" (args=none) */
 };
 
 
@@ -326,11 +331,11 @@ VLC_EXPORT( int, vlc_config_set, (module_config_t *, int, ...) );
 
 #define set_category( i_id ) \
     add_type_inner( CONFIG_CATEGORY ); \
-    p_config->value.i = i_id
+    vlc_config_set (p_config, VLC_CONFIG_VALUE, (int)(i_id))
 
 #define set_subcategory( i_id ) \
     add_type_inner( CONFIG_SUBCATEGORY ); \
-    p_config->value.i = i_id
+    vlc_config_set (p_config, VLC_CONFIG_VALUE, (int)(i_id))
 
 #define set_section( text, longtext ) \
     add_typedesc_inner( CONFIG_SECTION, text, longtext )
@@ -467,6 +472,11 @@ VLC_EXPORT( int, vlc_config_set, (module_config_t *, int, ...) );
 #define change_unsaveable() \
     vlc_config_set (p_config, VLC_CONFIG_VOLATILE)
 
+#define change_unsafe() (void)0 /* no-op */
+
+#define change_safe() \
+    vlc_config_set (p_config, VLC_CONFIG_SAFE)
+
 /****************************************************************************
  * config_chain_t:
  ****************************************************************************/