[vlc-commits] src: Fix for Mac OS X filesystem filename encoding
Naohiro KORIYAMA
git at videolan.org
Thu Aug 22 12:19:14 CEST 2013
vlc | branch: master | Naohiro KORIYAMA <nkoriyama at gmail.com> | Tue Aug 21 11:34:07 2012 +0900| [0970461e97dc0dbd54006c7e7a9da80990f946a0] | committer: Felix Paul Kühne
src: Fix for Mac OS X filesystem filename encoding
Signed-off-by: Felix Paul Kühne <fkuehne at videolan.org>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=0970461e97dc0dbd54006c7e7a9da80990f946a0
---
src/text/url.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/text/url.c b/src/text/url.c
index 40043ba..c809fbe 100644
--- a/src/text/url.c
+++ b/src/text/url.c
@@ -32,6 +32,7 @@
#include <vlc_common.h>
#include <vlc_url.h>
+#include <vlc_charset.h>
#include <vlc_fs.h>
#include <ctype.h>
@@ -170,6 +171,19 @@ char *vlc_path2uri (const char *path, const char *scheme)
path = p;
#endif
+#if defined( __APPLE__ )
+ /* Mac OS X uses Unicode for their files and folder name with HFS+:
+ * Unicode Normalization Form D (NFD) (with some modification).
+ * But simply converting to NFC causes some problem.
+ * So using UTF-8-MAC, encoding for HFS+, to convert to UTF-8.
+ *
+ * Note: UTF-8-MAC is only implemented for built-in iconv on Mac OS X.
+ */
+ char* psz_tmp_path = FromCharset("UTF-8-MAC", path, strlen(path));
+ strcpy((char *)path, psz_tmp_path);
+ free(psz_tmp_path);
+#endif
+
#if defined( _WIN32 ) || defined( __OS2__ )
/* Drive letter */
if (isalpha ((unsigned char)path[0]) && (path[1] == ':'))
More information about the vlc-commits
mailing list