/*****************************************************************************
* Local comparison functions, returns 0 if v == w, < 0 if v < w, > 0 if v > w
*****************************************************************************/
-static int CmpBool( vlc_value_t v, vlc_value_t w ) { return v.b_bool ? w.b_bool ? 0 : 1 : w.b_bool ? -1 : 0; }
-static int CmpInt( vlc_value_t v, vlc_value_t w ) { return v.i_int == w.i_int ? 0 : v.i_int > w.i_int ? 1 : -1; }
+static int CmpBool( vlc_value_t v, vlc_value_t w )
+{
+ return v.b_bool ? w.b_bool ? 0 : 1 : w.b_bool ? -1 : 0;
+}
+
+static int CmpInt( vlc_value_t v, vlc_value_t w )
+{
+ return v.i_int == w.i_int ? 0 : v.i_int > w.i_int ? 1 : -1;
+}
+
static int CmpTime( vlc_value_t v, vlc_value_t w )
{
return v.i_time == w.i_time ? 0 : v.i_time > w.i_time ? 1 : -1;
}
+
static int CmpString( vlc_value_t v, vlc_value_t w )
{
if( !v.psz_string )
list_ops = { CmpAddress, DupList, FreeList, },
mutex_ops = { CmpAddress, DupDummy, FreeMutex, },
string_ops = { CmpString, DupString, FreeString, },
-time_ops = { CmpTime, DupDummy, FreeDummy, };
+time_ops = { CmpTime, DupDummy, FreeDummy, },
+coords_ops = { NULL, DupDummy, FreeDummy, };
/*****************************************************************************
* Local prototypes
p_var->ops = &time_ops;
p_var->val.i_time = 0;
break;
+ case VLC_VAR_COORDS:
+ p_var->ops = &coords_ops;
+ p_var->val.coords.x = p_var->val.coords.y = 0;
+ break;
case VLC_VAR_ADDRESS:
p_var->ops = &addr_ops;
p_var->val.p_address = NULL;
return i_type;
}
+#undef var_SetChecked
int var_SetChecked( vlc_object_t *p_this, const char *psz_name,
int expected_type, vlc_value_t val )
{
assert( expected_type == 0 ||
(p_var->i_type & VLC_VAR_CLASS) == expected_type );
+#ifndef NDEBUG
+ /* Alert if the type is VLC_VAR_VOID */
+ if( ( p_var->i_type & VLC_VAR_TYPE ) == VLC_VAR_VOID )
+ msg_Warn( p_this, "Calling var_Set on the void variable '%s' (0x%04x)", psz_name, p_var->i_type );
+#endif
+
WaitUnused( p_this, p_var );
return var_SetChecked( p_this, psz_name, 0, val );
}
+#undef var_GetChecked
int var_GetChecked( vlc_object_t *p_this, const char *psz_name,
int expected_type, vlc_value_t *p_val )
{
#ifndef NDEBUG
/* Alert if the type is VLC_VAR_VOID */
if( ( p_var->i_type & VLC_VAR_TYPE ) == VLC_VAR_VOID )
- msg_Warn( p_this, "Calling var_GetVoid on the void variable '%s' (0x%04x)", psz_name, p_var->i_type );
+ msg_Warn( p_this, "Calling var_Get on the void variable '%s' (0x%04x)", psz_name, p_var->i_type );
#endif
/* Duplicate value if needed */