X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/4388f060552cc537e71e957d32f35e9d75a61233..refs/heads/master:/icuSources/tools/icuinfo/icuinfo.cpp diff --git a/icuSources/tools/icuinfo/icuinfo.cpp b/icuSources/tools/icuinfo/icuinfo.cpp index 4c59b908..4785d7b4 100644 --- a/icuSources/tools/icuinfo/icuinfo.cpp +++ b/icuSources/tools/icuinfo/icuinfo.cpp @@ -1,12 +1,14 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html /* ******************************************************************************* * -* Copyright (C) 1999-2012, International Business Machines +* Copyright (C) 1999-2016, International Business Machines * Corporation and others. All Rights Reserved. * ******************************************************************************* * file name: icuinfo.cpp -* encoding: US-ASCII +* encoding: UTF-8 * tab size: 8 (not used) * indentation:4 * @@ -40,10 +42,11 @@ static UOption options[]={ /*1*/ UOPTION_HELP_QUESTION_MARK, /*2*/ UOPTION_ICUDATADIR, /*3*/ UOPTION_VERBOSE, - /*4*/ UOPTION_DEF("list-plugins", 'L', UOPT_NO_ARG), + /*4*/ UOPTION_DEF("list-plugins", 'L', UOPT_NO_ARG), // may be a no-op if disabled /*5*/ UOPTION_DEF("milisecond-time", 'm', UOPT_NO_ARG), /*6*/ UOPTION_DEF("cleanup", 'K', UOPT_NO_ARG), /*7*/ UOPTION_DEF("xml", 'x', UOPT_REQUIRES_ARG), + /*8*/ UOPTION_DEF("perf", 'p', UOPT_NO_ARG), // Apple }; static UErrorCode initStatus = U_ZERO_ERROR; @@ -56,6 +59,7 @@ static void do_init() { } } +static void cmd_perf(); // Apple void cmd_millis() { @@ -82,6 +86,12 @@ void cmd_version(UBool /* noLoad */, UErrorCode &errorCode) errorCode=U_INTERNAL_PROGRAM_ERROR; } +#if defined(_MSC_VER) +// Ignore warning 4127, conditional expression is constant. This is intentional below. +#pragma warning(push) +#pragma warning(disable: 4127) +#endif + if(U_SIZEOF_WCHAR_T==sizeof(wchar_t)) { //printf("U_SIZEOF_WCHAR_T: %d\n", U_SIZEOF_WCHAR_T); } else { @@ -106,25 +116,34 @@ void cmd_version(UBool /* noLoad */, UErrorCode &errorCode) errorCode=U_INTERNAL_PROGRAM_ERROR; } +#if defined(_MSC_VER) +#pragma warning(pop) +#endif + printf("\n\nICU Initialization returned: %s\n", u_errorName(initStatus)); - + +#if UCONFIG_ENABLE_PLUGINS #if U_ENABLE_DYLOAD const char *pluginFile = uplug_getPluginFile(); printf("Plugin file is: %s\n", (pluginFile&&*pluginFile)?pluginFile:"(not set. try setting ICU_PLUGINS to a directory.)"); #else fprintf(stderr, "Dynamic Loading: is disabled. No plugins will be loaded at start-up.\n"); #endif +#else + fprintf(stderr, "Plugins are disabled.\n"); +#endif } void cmd_cleanup() { u_cleanup(); - fprintf(stderr,"ICU u_cleanup() called.\n"); + fprintf(stdout, "ICU u_cleanup() called.\n"); } void cmd_listplugins() { +#if UCONFIG_ENABLE_PLUGINS int32_t i; UPlugData *plug; @@ -201,7 +220,7 @@ void cmd_listplugins() { if(i==0) { printf("No plugins loaded.\n"); } - +#endif } @@ -212,7 +231,7 @@ main(int argc, char* argv[]) { UBool didSomething = FALSE; /* preset then read command line options */ - argc=u_parseArgs(argc, argv, sizeof(options)/sizeof(options[0]), options); + argc=u_parseArgs(argc, argv, UPRV_LENGTHOF(options), options); /* error handling, printing usage message */ if(argc<0) { @@ -227,9 +246,12 @@ main(int argc, char* argv[]) { " -m or --millisecond-time - Print the current UTC time in milliseconds.\n" " -d