#endif
+/**
+ * Translate a vlc_fourcc into its string representation. This function
+ * assumes there is enough room in psz_fourcc to store 4 characters in.
+ *
+ * \param fcc a vlc_fourcc_t
+ * \param psz_fourcc string to store string representation of vlc_fourcc in
+ */
static inline void __vlc_fourcc_to_char( vlc_fourcc_t fcc, char *psz_fourcc )
{
memcpy( psz_fourcc, &fcc, 4 );
/**@}*/ \
/* VLC_OBJECT: attempt at doing a clever cast */
-#define VLC_OBJECT( x ) \
- (((vlc_object_t *)(x))+0*(x)->be_sure_to_add_VLC_COMMON_MEMBERS_to_struct)
+#ifdef __GNUC__
+# define VLC_OBJECT( x ) \
+ (((vlc_object_t *)(x))+0*(((typeof(x))0)->be_sure_to_add_VLC_COMMON_MEMBERS_to_struct))
+#else
+# define VLC_OBJECT( x ) ((vlc_object_t *)(x))
+#endif
#define VLC_GC_MEMBERS \
/** \name VLC_GC_MEMBERS \
VLC_EXPORT( long long, vlc_strtoll, ( const char *nptr, char **endptr, int base ) );
VLC_EXPORT( char *, vlc_strcasestr, ( const char *s1, const char *s2 ) );
+char *vlc_strsep( char **, const char * );
#if defined(WIN32) || defined(UNDER_CE)
/* win32, cl and icl support */