]> git.sesse.net Git - vlc/commitdiff
Replace vlc_fix_readdir() with FromCharset()
authorRémi Denis-Courmont <remi@remlab.net>
Tue, 26 Oct 2010 17:17:55 +0000 (20:17 +0300)
committerRémi Denis-Courmont <remi@remlab.net>
Tue, 26 Oct 2010 17:19:09 +0000 (20:19 +0300)
src/libvlc.h
src/text/charset.c
src/text/filesystem.c

index 02bdfaaddbd6eb80de2d72d920015bbd18715ff1..793e67a798c559fb988beff4a3ccfdee6fa7fd05 100644 (file)
@@ -90,11 +90,6 @@ void msg_StackSet ( int, const char*, ... );
 void msg_StackAdd ( const char*, ... );
 const char* msg_StackMsg ( void );
 
-/*
- * Unicode stuff
- */
-char *vlc_fix_readdir (const char *);
-
 /*
  * LibVLC exit event handling
  */
index 07b814ee09a9a372195fb1f915fff25471d20d9a..1722210821a2dbb8d2e036ab2fc6c27da44d1802 100644 (file)
 #include "libvlc.h"
 #include <vlc_charset.h>
 
-char *vlc_fix_readdir( const char *psz_string )
-{
-#ifdef __APPLE__
-    vlc_iconv_t hd = vlc_iconv_open( "UTF-8", "UTF-8-MAC" );
-
-    if (hd != (vlc_iconv_t)(-1))
-    {
-        const char *psz_in = psz_string;
-        size_t i_in = strlen(psz_in);
-        size_t i_out = i_in * 2;
-        char *psz_utf8 = malloc(i_out + 1);
-        char *psz_out = psz_utf8;
-
-        size_t i_ret = vlc_iconv (hd, &psz_in, &i_in, &psz_out, &i_out);
-        vlc_iconv_close (hd);
-        if( i_ret == (size_t)(-1) || i_in )
-        {
-            free( psz_utf8 );
-            return strdup( psz_string );
-        }
-
-        *psz_out = '\0';
-        return psz_utf8;
-    }
-#endif
-    return strdup( psz_string );
-}
-
-
 /**
  * us_strtod() has the same prototype as ANSI C strtod() but it uses the
  * POSIX/C decimal format, regardless of the current numeric locale.
index f83a4fcff803311f47628c7d1ded6dbed8c2f644..0bbe53dd43f7fd14d578f6655ab8636e2492101b 100644 (file)
@@ -347,7 +347,11 @@ char *vlc_readdir( DIR *dir )
     if (val != 0)
         errno = val;
     else if (ent != NULL)
-        path = vlc_fix_readdir (ent->d_name);
+#ifndef __APPLE__
+        path = strdup (ent->d_name);
+#else
+        path = FromCharset ("UTF-8-MAC", ent->d_name, strlen (ent->d_name));
+#endif
     free (buf);
     return path;
 #endif