From: RĂ©mi Denis-Courmont Date: Fri, 9 Jul 2010 14:50:50 +0000 (+0300) Subject: Add var_InheritAddress() X-Git-Tag: 1.2.0-pre1~5890 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=fd907c9abaa6304442ced84809bdb53600c922ca;p=vlc Add var_InheritAddress() Returns NULL if the variable cannot be inherited - pointers can never be found in the configuration. --- diff --git a/include/vlc_variables.h b/include/vlc_variables.h index b1c2b394e8..2cf2d83634 100644 --- a/include/vlc_variables.h +++ b/include/vlc_variables.h @@ -713,6 +713,16 @@ static inline mtime_t var_InheritTime( vlc_object_t *obj, const char *name ) } #define var_InheritTime(o, n) var_InheritTime(VLC_OBJECT(o), n) +static inline void *var_InheritAddress( vlc_object_t *obj, const char *name ) +{ + vlc_value_t val; + + if( var_Inherit( obj, name, VLC_VAR_ADDRESS, &val ) ) + val.p_address = NULL; + return val.p_address; +} +#define var_InheritAddress(o, n) var_InheritAddress(VLC_OBECT(o), n) + VLC_EXPORT( int, var_InheritURational, ( vlc_object_t *, unsigned *num, unsigned *den, const char *var ) ); #define var_InheritURational(a,b,c,d) var_InheritURational(VLC_OBJECT(a), b, c, d) diff --git a/src/misc/variables.c b/src/misc/variables.c index 6f3e901cc9..9374f3e798 100644 --- a/src/misc/variables.c +++ b/src/misc/variables.c @@ -1225,6 +1225,8 @@ int var_Inherit( vlc_object_t *p_this, const char *psz_name, int i_type, case VLC_VAR_BOOL: p_val->b_bool = config_GetInt( p_this, psz_name ); break; + case VLC_VAR_ADDRESS: + return VLC_ENOOBJ; default: msg_Warn( p_this, "Could not inherit value for var %s " "from config. Invalid Type", psz_name );