From a74a8625b6859edcdd07eddc7b30984d53f6d368 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= Date: Fri, 10 Nov 2006 22:11:55 +0000 Subject: [PATCH] Hide vlc_fix_readdir_charset. It is now integrated in the UTF-8 wrappers. Though there is not an useless lock and iconv handler in the Darwin specific stuff. --- include/charset.h | 5 +++-- include/vlc_symbols.h | 5 ++--- src/misc/charset.c | 9 +++++---- src/misc/unicode.c | 8 +------- 4 files changed, 11 insertions(+), 16 deletions(-) diff --git a/include/charset.h b/include/charset.h index 56c1b6f7cb..7a534faaa1 100644 --- a/include/charset.h +++ b/include/charset.h @@ -63,8 +63,9 @@ static inline char *FromWide( const wchar_t *in ) } -VLC_EXPORT( char *, __vlc_fix_readdir_charset, ( vlc_object_t *, const char * ) ); -#define vlc_fix_readdir_charset(a,b) __vlc_fix_readdir_charset(VLC_OBJECT(a),b) +#if !defined (__PLUGIN__) +extern char *vlc_fix_readdir ( const char * ); +#endif VLC_EXPORT( const char *, GetFallbackEncoding, ( void ) ); diff --git a/include/vlc_symbols.h b/include/vlc_symbols.h index 3c7ad98428..127781a02f 100644 --- a/include/vlc_symbols.h +++ b/include/vlc_symbols.h @@ -390,7 +390,7 @@ struct module_symbols_t void (*LocaleFree_inner) (const char *); char * (*ToLocale_inner) (const char *); char * (*EnsureUTF8_inner) (char *); - char * (*__vlc_fix_readdir_charset_inner) (vlc_object_t *, const char *); + void *__vlc_fix_readdir_charset_deprecated; int (*vlc_scandir_inner) (const char *name, struct dirent ***namelist, int (*filter) ( const struct dirent * ), int (*compar) ( const struct dirent **, const struct dirent ** )); int (*vlc_alphasort_inner) (const struct dirent **a, const struct dirent **b); osd_state_t * (*__osd_StateChange_inner) (osd_state_t *, const int); @@ -898,7 +898,6 @@ struct module_symbols_t # define LocaleFree (p_symbols)->LocaleFree_inner # define ToLocale (p_symbols)->ToLocale_inner # define EnsureUTF8 (p_symbols)->EnsureUTF8_inner -# define __vlc_fix_readdir_charset (p_symbols)->__vlc_fix_readdir_charset_inner # define vlc_scandir (p_symbols)->vlc_scandir_inner # define vlc_alphasort (p_symbols)->vlc_alphasort_inner # define __osd_StateChange (p_symbols)->__osd_StateChange_inner @@ -1381,7 +1380,6 @@ struct module_symbols_t ((p_symbols)->LocaleFree_inner) = LocaleFree; \ ((p_symbols)->ToLocale_inner) = ToLocale; \ ((p_symbols)->EnsureUTF8_inner) = EnsureUTF8; \ - ((p_symbols)->__vlc_fix_readdir_charset_inner) = __vlc_fix_readdir_charset; \ ((p_symbols)->vlc_scandir_inner) = vlc_scandir; \ ((p_symbols)->vlc_alphasort_inner) = vlc_alphasort; \ ((p_symbols)->__osd_StateChange_inner) = __osd_StateChange; \ @@ -1552,6 +1550,7 @@ struct module_symbols_t (p_symbols)->playlist_Move_deprecated = NULL; \ (p_symbols)->playlist_NodeGroup_deprecated = NULL; \ (p_symbols)->playlist_NodeRemoveParent_deprecated = NULL; \ + (p_symbols)->__vlc_fix_readdir_charset_deprecated = NULL; \ (p_symbols)->__intf_Interact_deprecated = NULL; \ (p_symbols)->__intf_UserProgress_deprecated = NULL; \ (p_symbols)->__intf_UserProgressUpdate_deprecated = NULL; \ diff --git a/src/misc/charset.c b/src/misc/charset.c index 525f600efa..e33d3551c3 100644 --- a/src/misc/charset.c +++ b/src/misc/charset.c @@ -340,10 +340,9 @@ vlc_bool_t vlc_current_charset( char **psz_charset ) return VLC_FALSE; } -char *__vlc_fix_readdir_charset( vlc_object_t *p_this, const char *psz_string ) -{ - (void)p_this; +char *vlc_fix_readdir( const char *psz_string ) +{ #ifdef __APPLE__ vlc_iconv_t hd = vlc_iconv_open( "UTF-8", "UTF-8-MAC" ); @@ -366,10 +365,12 @@ char *__vlc_fix_readdir_charset( vlc_object_t *p_this, const char *psz_string ) *psz_out = '\0'; return psz_utf8; } -#endif +#else return strdup( psz_string ); +#endif } + static inline int locale_match (const char *tab, const char *locale) { for (;*tab; tab += 2) diff --git a/src/misc/unicode.c b/src/misc/unicode.c index 48710259ee..eb96c25770 100644 --- a/src/misc/unicode.c +++ b/src/misc/unicode.c @@ -471,8 +471,6 @@ void *utf8_opendir( const char *dirname ) } -#define darwin_readdir_fix( a ) __vlc_fix_readdir_charset (NULL, a) - char *utf8_readdir( void *dir ) { struct dirent *ent; @@ -481,11 +479,7 @@ char *utf8_readdir( void *dir ) if( ent == NULL ) return NULL; -#ifdef __APPLE__ - return darwin_readdir_fix( ent->d_name ); -#else - return strdup( ent->d_name ); -#endif + return vlc_fix_readdir( ent->d_name ); } static int dummy_select( const char *str ) -- GitLab