static int InputItemVaAddInfo( input_item_t *p_i, const char *psz_cat, const char *psz_name, const char *psz_format, va_list args ) { vlc_assert_locked( &p_i->lock ); info_category_t *p_cat = InputItemFindCat( p_i, NULL, psz_cat ); if( !p_cat ) { p_cat = info_category_New( psz_cat ); if( !p_cat ) return VLC_ENOMEM; INSERT_ELEM( p_i->pp_categories, p_i->i_categories, p_i->i_categories, p_cat ); } info_t *p_info = info_category_VaAddInfo( p_cat, psz_name, psz_format, args ); if( !p_info || !p_info->psz_value ) return VLC_EGENERIC; return VLC_SUCCESS; }
const char *psz_cat, const char *psz_name, const char *psz_format, va_list args ) { vlc_assert_locked( &p_i->lock ); info_category_t *p_cat = InputItemFindCat( p_i, NULL, psz_cat ); if( !p_cat ) { p_cat = info_category_New( psz_cat ); if( !p_cat ) return VLC_ENOMEM; INSERT_ELEM( (info_category_t **), p_i->pp_categories, p_i->i_categories, p_i->i_categories, // sunqueen modify p_cat ); } info_t *p_info = info_category_VaAddInfo( p_cat, psz_name, psz_format, args ); if( !p_info || !p_info->psz_value ) return VLC_EGENERIC; return VLC_SUCCESS; } static int InputItemAddInfo( input_item_t *p_i, const char *psz_cat, const char *psz_name, const char *psz_format, ... ) { va_list args; va_start( args, psz_format ); const int i_ret = InputItemVaAddInfo( p_i, psz_cat, psz_name, psz_format, args ); va_end( args );