fs/Charset: hard-code Windows to ACP
Don't define HAVE_FS_CHARSET, and make GetFSCharset() return "ACP" instead of "UTF-8". Ignore the configuration setting, which had no effect anyway.
This commit is contained in:
parent
2aa54c5365
commit
73bd6af0f9
|
@ -71,6 +71,8 @@ GetFSCharset()
|
|||
{
|
||||
#ifdef HAVE_FS_CHARSET
|
||||
return fs_charset.empty() ? "UTF-8" : fs_charset.c_str();
|
||||
#elif defined(WIN32)
|
||||
return "ACP";
|
||||
#else
|
||||
return "UTF-8";
|
||||
#endif
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "Compiler.h"
|
||||
#include "Traits.hxx"
|
||||
|
||||
#if defined(HAVE_ICU) || defined(HAVE_GLIB)
|
||||
#if (defined(HAVE_ICU) || defined(HAVE_GLIB)) && !defined(WIN32)
|
||||
#define HAVE_FS_CHARSET
|
||||
#endif
|
||||
|
||||
|
|
|
@ -22,10 +22,7 @@
|
|||
#include "Charset.hxx"
|
||||
#include "config/ConfigGlobal.hxx"
|
||||
|
||||
#ifdef WIN32
|
||||
#include <windows.h> // for GetACP()
|
||||
#include <stdio.h> // for sprintf()
|
||||
#elif defined(HAVE_GLIB)
|
||||
#ifdef HAVE_GLIB
|
||||
#include <glib.h>
|
||||
#endif
|
||||
|
||||
|
@ -37,16 +34,7 @@ ConfigureFS(Error &error)
|
|||
|
||||
charset = config_get_string(ConfigOption::FS_CHARSET, nullptr);
|
||||
if (charset == nullptr) {
|
||||
#ifdef WIN32
|
||||
/* Glib claims that file system encoding is always utf-8
|
||||
* on native Win32 (i.e. not Cygwin).
|
||||
* However this is true only if <gstdio.h> helpers are used.
|
||||
* MPD uses regular <stdio.h> functions.
|
||||
* Those functions use encoding determined by GetACP(). */
|
||||
static char win_charset[13];
|
||||
sprintf(win_charset, "cp%u", GetACP());
|
||||
charset = win_charset;
|
||||
#elif defined(HAVE_GLIB)
|
||||
#ifdef HAVE_GLIB
|
||||
const gchar **encodings;
|
||||
g_get_filename_charsets(&encodings);
|
||||
|
||||
|
|
Loading…
Reference in New Issue