mirror of
https://github.com/transmission/transmission.git
synced 2025-12-20 02:18:42 +00:00
Use UTF-8 for console I/O on Windows
This commit is contained in:
@@ -222,7 +222,8 @@ getConfigDir (int argc, const char ** argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
main (int argc, char ** argv)
|
tr_main (int argc,
|
||||||
|
char * argv[])
|
||||||
{
|
{
|
||||||
tr_session * h;
|
tr_session * h;
|
||||||
tr_ctor * ctor;
|
tr_ctor * ctor;
|
||||||
@@ -233,10 +234,6 @@ main (int argc, char ** argv)
|
|||||||
size_t fileLength;
|
size_t fileLength;
|
||||||
const char * str;
|
const char * str;
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
tr_win32_make_args_utf8 (&argc, &argv);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
tr_formatter_mem_init (MEM_K, MEM_K_STR, MEM_M_STR, MEM_G_STR, MEM_T_STR);
|
tr_formatter_mem_init (MEM_K, MEM_K_STR, MEM_M_STR, MEM_G_STR, MEM_T_STR);
|
||||||
tr_formatter_size_init (DISK_K,DISK_K_STR, DISK_M_STR, DISK_G_STR, DISK_T_STR);
|
tr_formatter_size_init (DISK_K,DISK_K_STR, DISK_M_STR, DISK_G_STR, DISK_T_STR);
|
||||||
tr_formatter_speed_init (SPEED_K, SPEED_K_STR, SPEED_M_STR, SPEED_G_STR, SPEED_T_STR);
|
tr_formatter_speed_init (SPEED_K, SPEED_K_STR, SPEED_M_STR, SPEED_G_STR, SPEED_T_STR);
|
||||||
|
|||||||
@@ -636,8 +636,8 @@ cleanup:
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
main (int argc,
|
tr_main (int argc,
|
||||||
char ** argv)
|
char * argv[])
|
||||||
{
|
{
|
||||||
const dtr_callbacks cb =
|
const dtr_callbacks cb =
|
||||||
{
|
{
|
||||||
@@ -654,10 +654,6 @@ main (int argc,
|
|||||||
tr_variant * const settings = &arg.settings;
|
tr_variant * const settings = &arg.settings;
|
||||||
const char ** const configDir = &arg.configDir;
|
const char ** const configDir = &arg.configDir;
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
tr_win32_make_args_utf8 (&argc, &argv);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
key_pidfile = tr_quark_new ("pidfile", 7);
|
key_pidfile = tr_quark_new ("pidfile", 7);
|
||||||
|
|
||||||
/* load settings from defaults + config file */
|
/* load settings from defaults + config file */
|
||||||
|
|||||||
@@ -2401,17 +2401,14 @@ getHostAndPortAndRpcUrl (int * argc, char ** argv,
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
main (int argc, char ** argv)
|
tr_main (int argc,
|
||||||
|
char * argv[])
|
||||||
{
|
{
|
||||||
int port = DEFAULT_PORT;
|
int port = DEFAULT_PORT;
|
||||||
char * host = NULL;
|
char * host = NULL;
|
||||||
char * rpcurl = NULL;
|
char * rpcurl = NULL;
|
||||||
int exit_status = EXIT_SUCCESS;
|
int exit_status = EXIT_SUCCESS;
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
tr_win32_make_args_utf8 (&argc, &argv);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (argc < 2) {
|
if (argc < 2) {
|
||||||
showUsage ();
|
showUsage ();
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
|
|||||||
@@ -1184,6 +1184,17 @@ tr_win32_make_args_utf8 (int * argc,
|
|||||||
LocalFree (my_wide_argv);
|
LocalFree (my_wide_argv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
tr_main_win32 (int argc,
|
||||||
|
char ** argv,
|
||||||
|
int (*real_main) (int, char **))
|
||||||
|
{
|
||||||
|
tr_win32_make_args_utf8 (&argc, &argv);
|
||||||
|
SetConsoleCP (CP_UTF8);
|
||||||
|
SetConsoleOutputCP (CP_UTF8);
|
||||||
|
return real_main (argc, argv);
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/***
|
/***
|
||||||
|
|||||||
@@ -196,6 +196,25 @@ char * tr_win32_format_message (uint32_t code);
|
|||||||
void tr_win32_make_args_utf8 (int * argc,
|
void tr_win32_make_args_utf8 (int * argc,
|
||||||
char *** argv);
|
char *** argv);
|
||||||
|
|
||||||
|
int tr_main_win32 (int argc,
|
||||||
|
char ** argv,
|
||||||
|
int (*real_main) (int, char **));
|
||||||
|
|
||||||
|
#define tr_main(...) \
|
||||||
|
static tr_main_win32_impl (__VA_ARGS__); \
|
||||||
|
int \
|
||||||
|
main (int argc, \
|
||||||
|
char * argv[]) \
|
||||||
|
{ \
|
||||||
|
return tr_main_win32 (argc, argv, &tr_main_win32_impl); \
|
||||||
|
} \
|
||||||
|
static int \
|
||||||
|
tr_main_win32_impl (__VA_ARGS__)
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#define tr_main main
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/***
|
/***
|
||||||
|
|||||||
@@ -574,12 +574,9 @@ MyApp::notifyApp (const QString& title, const QString& body) const
|
|||||||
***/
|
***/
|
||||||
|
|
||||||
int
|
int
|
||||||
main (int argc, char * argv[])
|
tr_main (int argc,
|
||||||
|
char * argv[])
|
||||||
{
|
{
|
||||||
#ifdef _WIN32
|
|
||||||
tr_win32_make_args_utf8 (&argc, &argv);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
MyApp app (argc, argv);
|
MyApp app (argc, argv);
|
||||||
return app.exec ();
|
return app.exec ();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -126,15 +126,12 @@ tr_getcwd (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
main (int argc, char * argv[])
|
tr_main (int argc,
|
||||||
|
char * argv[])
|
||||||
{
|
{
|
||||||
char * out2 = NULL;
|
char * out2 = NULL;
|
||||||
tr_metainfo_builder * b = NULL;
|
tr_metainfo_builder * b = NULL;
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
tr_win32_make_args_utf8 (&argc, &argv);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
tr_logSetLevel (TR_LOG_ERROR);
|
tr_logSetLevel (TR_LOG_ERROR);
|
||||||
tr_formatter_mem_init (MEM_K, MEM_K_STR, MEM_M_STR, MEM_G_STR, MEM_T_STR);
|
tr_formatter_mem_init (MEM_K, MEM_K_STR, MEM_M_STR, MEM_G_STR, MEM_T_STR);
|
||||||
tr_formatter_size_init (DISK_K, DISK_K_STR, DISK_M_STR, DISK_G_STR, DISK_T_STR);
|
tr_formatter_size_init (DISK_K, DISK_K_STR, DISK_M_STR, DISK_G_STR, DISK_T_STR);
|
||||||
|
|||||||
@@ -286,15 +286,12 @@ addURL (tr_variant * metainfo, const char * url)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
main (int argc, char * argv[])
|
tr_main (int argc,
|
||||||
|
char * argv[])
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int changedCount = 0;
|
int changedCount = 0;
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
tr_win32_make_args_utf8 (&argc, &argv);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
files = tr_new0 (const char*, argc);
|
files = tr_new0 (const char*, argc);
|
||||||
|
|
||||||
tr_logSetLevel (TR_LOG_ERROR);
|
tr_logSetLevel (TR_LOG_ERROR);
|
||||||
|
|||||||
@@ -283,16 +283,13 @@ doScrape (const tr_info * inf)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
main (int argc, char * argv[])
|
tr_main (int argc,
|
||||||
|
char * argv[])
|
||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
tr_info inf;
|
tr_info inf;
|
||||||
tr_ctor * ctor;
|
tr_ctor * ctor;
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
tr_win32_make_args_utf8 (&argc, &argv);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
tr_logSetLevel (TR_LOG_ERROR);
|
tr_logSetLevel (TR_LOG_ERROR);
|
||||||
tr_formatter_mem_init (MEM_K, MEM_K_STR, MEM_M_STR, MEM_G_STR, MEM_T_STR);
|
tr_formatter_mem_init (MEM_K, MEM_K_STR, MEM_M_STR, MEM_G_STR, MEM_T_STR);
|
||||||
tr_formatter_size_init (DISK_K, DISK_K_STR, DISK_M_STR, DISK_G_STR, DISK_T_STR);
|
tr_formatter_size_init (DISK_K, DISK_K_STR, DISK_M_STR, DISK_G_STR, DISK_T_STR);
|
||||||
|
|||||||
Reference in New Issue
Block a user