case 11:
COPY_STR(str, "I18N_UNUMBER_CURRENCY_PLURAL", strlen("I18N_UNUMBER_CURRENCY_PLURAL"));
break;
+#if (__TIZEN_VER > 4)
case 12:
COPY_STR(str, "I18N_UNUMBER_CURRENCY_ACCOUNTING", strlen("I18N_UNUMBER_CURRENCY_ACCOUNTING"));
break;
case 13:
COPY_STR(str, "I18N_UNUMBER_CASH_CURRENCY", strlen("I18N_UNUMBER_CASH_CURRENCY"));
break;
+#endif
case 14:
COPY_STR(str, "I18N_UNUMBER_FORMAT_STYLE_COUNT", strlen("I18N_UNUMBER_FORMAT_STYLE_COUNT"));
break;
return 0;
}
-int32_t _ustring_append_n(i18n_uchar *dest, int32_t dest_length, const i18n_uchar *src, int32_t src_length)
-{
- for (int32_t i = 0; i < src_length; ++i) {
- dest[dest_length] = src[i];
- ++dest_length;
- }
- return dest_length;
-}
-
-i18n_uchar *_convert_unicode_numeric_values(const i18n_uchar *input, int32_t length)
-{
- if (length <= 0)
- return NULL;
- int32_t output_length = 0;
-
- double *values = (double *) malloc(length * sizeof(double));
- int max_value_length = 0;
-
- /* Count output length */
- for (int32_t i = 0; i < length; ++i) {
- double value = 0;
- i18n_uchar_get_numeric_value(input[i], &value);
- values[i] = value;
- if (value != I18N_U_NO_NUMERIC_VALUE) {
- int value_length = snprintf(NULL, 0, "%g", value);
- if (value_length > max_value_length)
- max_value_length = value_length;
- output_length += value_length;
- } else {
- output_length += 1;
- }
- }
-
- /* +1 NULL terminator */
- max_value_length += 1;
-
- i18n_uchar *output = (i18n_uchar *) malloc((output_length + 1) * sizeof(input[0]));
- i18n_ustring_mem_set(output, '\0', output_length + 1);
- char *tmp = (char *) malloc((max_value_length) * sizeof(input[0]));
- i18n_uchar *c = (i18n_uchar *) malloc((max_value_length) * sizeof(input[0]));
-
- int32_t current_length = 0;
- for (int32_t i = 0; i < length; ++i) {
- double value = values[i];
- if (value != I18N_U_NO_NUMERIC_VALUE) {
- /* Convert double to i18n_uchar */
- if (NULL == tmp) {
- free(values);
- free(c);
- free(tmp);
- free(output);
- return NULL;
- }
- snprintf(tmp, max_value_length, "%g", value);
- i18n_ustring_copy_ua_n(c, tmp, max_value_length);
- /* Append converted number to output string */
- int32_t src_length = i18n_ustring_get_length(c);
- current_length = _ustring_append_n(output, current_length, c, src_length);
- } else {
- current_length = _ustring_append_n(output, current_length, input + i, 1);
- }
- }
- free(values);
- free(c);
- free(tmp);
-
- return output;
-}
-
-static int __convert_number(char *custom_number)
-{
- printf(" - To convert the number\n");
- printf("****************************************\n");
-
- i18n_uchar *number_to_convert;
-
- if (!custom_number) {
- const char *input_number = "abc০১২৩def四五六ⅦⅧⅨ";
- printf(" Input number : %s\n", input_number);
- number_to_convert =
- (i18n_uchar *) malloc(sizeof(i18n_uchar) * (strlen(input_number) + 1));
- if (NULL == number_to_convert) {
- free(number_to_convert);
- return I18N_ERROR_OUT_OF_MEMORY;
- }
- i18n_ustring_copy_ua_n(number_to_convert, input_number, BUF_SIZE);
-
- i18n_uchar *str = _convert_unicode_numeric_values(number_to_convert, i18n_ustring_get_length(number_to_convert));
- char p_string[BUF_SIZE];
- i18n_ustring_copy_au_n(p_string, str, BUF_SIZE);
- printf(" Convert number : %s\n", p_string);
- free(str);
- PRINT_ASCIIDOC_LOG("|===\n");
-
- } else {
- char *input_number = custom_number;
- printf(" Input number : %s\n", input_number);
- number_to_convert =
- (i18n_uchar *) malloc(sizeof(i18n_uchar) * (strlen(input_number) + 1));
- i18n_ustring_copy_ua(number_to_convert, input_number);
-
- i18n_uchar *str = _convert_unicode_numeric_values(number_to_convert, i18n_ustring_get_length(number_to_convert));
- char p_string[BUF_SIZE];
- i18n_ustring_copy_au_n(p_string, str, BUF_SIZE);
- printf(" Convert number : %s\n", p_string);
- free(str);
- PRINT_ASCIIDOC_LOG("|===\n");
- }
- free(number_to_convert);
- return 0;
-}
-
static int __get_symbol()
{
printf(" - To get various number symbol\n");
return 0;
}
+#if (__TIZEN_VER > 4)
+int32_t _ustring_append_n(i18n_uchar *dest, int32_t dest_length, const i18n_uchar *src, int32_t src_length)
+{
+ for (int32_t i = 0; i < src_length; ++i) {
+ dest[dest_length] = src[i];
+ ++dest_length;
+ }
+ return dest_length;
+}
+
+i18n_uchar *_convert_unicode_numeric_values(const i18n_uchar *input, int32_t length)
+{
+ if (length <= 0)
+ return NULL;
+ int32_t output_length = 0;
+
+ double *values = (double *) malloc(length * sizeof(double));
+ int max_value_length = 0;
+
+ /* Count output length */
+ for (int32_t i = 0; i < length; ++i) {
+ double value = 0;
+ i18n_uchar_get_numeric_value(input[i], &value);
+ values[i] = value;
+ if (value != I18N_U_NO_NUMERIC_VALUE) {
+ int value_length = snprintf(NULL, 0, "%g", value);
+ if (value_length > max_value_length)
+ max_value_length = value_length;
+ output_length += value_length;
+ } else {
+ output_length += 1;
+ }
+ }
+
+ /* +1 NULL terminator */
+ max_value_length += 1;
+
+ i18n_uchar *output = (i18n_uchar *) malloc((output_length + 1) * sizeof(input[0]));
+ i18n_ustring_mem_set(output, '\0', output_length + 1);
+ char *tmp = (char *) malloc((max_value_length) * sizeof(input[0]));
+ i18n_uchar *c = (i18n_uchar *) malloc((max_value_length) * sizeof(input[0]));
+
+ int32_t current_length = 0;
+ for (int32_t i = 0; i < length; ++i) {
+ double value = values[i];
+ if (value != I18N_U_NO_NUMERIC_VALUE) {
+ /* Convert double to i18n_uchar */
+ if (NULL == tmp) {
+ free(values);
+ free(c);
+ free(tmp);
+ free(output);
+ return NULL;
+ }
+ snprintf(tmp, max_value_length, "%g", value);
+ i18n_ustring_copy_ua_n(c, tmp, max_value_length);
+ /* Append converted number to output string */
+ int32_t src_length = i18n_ustring_get_length(c);
+ current_length = _ustring_append_n(output, current_length, c, src_length);
+ } else {
+ current_length = _ustring_append_n(output, current_length, input + i, 1);
+ }
+ }
+ free(values);
+ free(c);
+ free(tmp);
+
+ return output;
+}
+
+static int __convert_number(char *custom_number)
+{
+ printf(" - To convert the number\n");
+ printf("****************************************\n");
+
+ i18n_uchar *number_to_convert;
+
+ if (!custom_number) {
+ const char *input_number = "abc০১২৩def四五六ⅦⅧⅨ";
+ printf(" Input number : %s\n", input_number);
+ number_to_convert =
+ (i18n_uchar *) malloc(sizeof(i18n_uchar) * (strlen(input_number) + 1));
+ if (NULL == number_to_convert) {
+ free(number_to_convert);
+ return I18N_ERROR_OUT_OF_MEMORY;
+ }
+ i18n_ustring_copy_ua_n(number_to_convert, input_number, BUF_SIZE);
+
+ i18n_uchar *str = _convert_unicode_numeric_values(number_to_convert, i18n_ustring_get_length(number_to_convert));
+ char p_string[BUF_SIZE];
+ i18n_ustring_copy_au_n(p_string, str, BUF_SIZE);
+ printf(" Convert number : %s\n", p_string);
+ free(str);
+ PRINT_ASCIIDOC_LOG("|===\n");
+
+ } else {
+ char *input_number = custom_number;
+ printf(" Input number : %s\n", input_number);
+ number_to_convert =
+ (i18n_uchar *) malloc(sizeof(i18n_uchar) * (strlen(input_number) + 1));
+ i18n_ustring_copy_ua(number_to_convert, input_number);
+
+ i18n_uchar *str = _convert_unicode_numeric_values(number_to_convert, i18n_ustring_get_length(number_to_convert));
+ char p_string[BUF_SIZE];
+ i18n_ustring_copy_au_n(p_string, str, BUF_SIZE);
+ printf(" Convert number : %s\n", p_string);
+ free(str);
+ PRINT_ASCIIDOC_LOG("|===\n");
+ }
+ free(number_to_convert);
+ return 0;
+}
+
struct create_mu {
const char* unit_type;
const char* unit_subtype;
return 0;
}
+#endif
void allTest()
{
__get_tzdata_version();
}
-void showMeasureUnit(char *input)
+void showUbidi(char *input)
{
- printf("\n== Show Measure Unit");
+ printf("\n== Show Ubidi");
printf("\n****************************************\n");
- __show_measure_unit(input);
+ __show_ubidi(input);
}
-void showUbidi(char *input)
+#if (__TIZEN_VER > 4)
+void testNumberConvert(char *input)
{
- printf("\n== Show Ubidi");
+ int ret = 0;
+
+ printf("\n== Number Converting Test");
printf("\n****************************************\n");
- __show_ubidi(input);
+ ret = __convert_number(input);
+ if (ret == -1) {
+ printf("number converting failed\n");
+ }
}
+void showMeasureUnit(char *input)
+{
+ printf("\n== Show Measure Unit");
+ printf("\n****************************************\n");
+ __show_measure_unit(input);
+}
+#endif
+
void showDatentimeFormat(char *locale)
{
int ret = 0, i = 0;
}
}
-void testNumberConvert(char *input)
-{
- int ret = 0;
-
- printf("\n== Number Converting Test");
- printf("\n****************************************\n");
- ret = __convert_number(input);
- if (ret == -1) {
- printf("number converting failed\n");
- }
-}
-
void testString(char *input)
{
int ret = 0;
testNumberSymbol(arguments.setLocale);
}
- if (arguments.testNumberConvert) {
- testNumberConvert(arguments.testNumberConvertArg);
- }
-
if (arguments.testString) {
testString(arguments.testStringArg);
}
showUbidi(arguments.testTextArg);
}
+#if (__TIZEN_VER > 4)
+ if (arguments.testNumberConvert) {
+ testNumberConvert(arguments.testNumberConvertArg);
+ }
+
if (arguments.showMeasureUnit) {
showMeasureUnit(arguments.testInputNumArg);
}
+#endif
return 0;
}
#include <error.h>
#include <argp.h>
-
+#define __TIZEN_VER 5
const char *argp_program_version = "i18ninfo 1.0";
const char *argp_program_bug_address = "<hj0426.kim@samsung.com>";
{"test-datentime", 'd', "DateTime", OPTION_ARG_OPTIONAL, "Date and time format test", 0 },
{"test-number-format", 'n', "Number", 0, "Number format test", 0 },
{"test-number-symbol", 'N', 0, 0, "Number symbol test", 0 },
- {"test-number-converting", 'c', "Convert", OPTION_ARG_OPTIONAL, "Number converting test", 0 },
{"test-string", 's', "Word", OPTION_ARG_OPTIONAL, "String test", 0 },
{"test-string-iter", 'S', "Type", OPTION_ARG_OPTIONAL, "String iteration test", 0 },
{"set-locale", 'l', "locale", 0, "Set specific locale", 0 },
- {"show-ubidi", 'b', 0, OPTION_ARG_OPTIONAL, "Show examples of the Unicode Bidirectional Algorithm", 0 },
{"print-ASCII", 'p', 0, 0, "Print results as the ASCIIDoc Format", 0 },
+ {"show-ubidi", 'b', 0, OPTION_ARG_OPTIONAL, "Show examples of the Unicode Bidirectional Algorithm", 0 },
+#if (__TIZEN_VER > 4)
+ {"test-number-converting", 'c', "Convert", OPTION_ARG_OPTIONAL, "Number converting test", 0 },
{"show-measure-unit", 'm', "Number", OPTION_ARG_OPTIONAL, "Show measure unit", 0 },
+#endif
{ 0 }
};
int testDatentime;
int testNumberFormat;
int testNumberSymbol;
- int testNumberConvert;
int testString;
int testStringIter;
- int showUbidi;
int printASCII;
+ int showUbidi;
+#if (__TIZEN_VER > 4)
+ int testNumberConvert;
int showMeasureUnit;
+#endif
char *arg1; /* arg1 */
char **strings; /* [string…] */
char *testTimeArg;
char *testNumberFormatArg;
- char *testNumberConvertArg;
char *testStringArg;
char *testStringIterArg;
+ char *setLocale;
char *testTextArg;
+#if (__TIZEN_VER > 4)
+ char *testNumberConvertArg;
char *testInputNumArg;
- char *setLocale;
+#endif
};
/* Parse a single option. */
arguments->arg_flag = 9;
arguments->testNumberSymbol = 1;
break;
- case 'c':
- arguments->arg_flag = 10;
- arguments->testNumberConvert = 1;
-
- nextArg = state->argv[state->next];
- if (nextArg && *nextArg != '-') {
- arguments->testNumberConvertArg = nextArg;
- state->next++;
- }
- break;
case 's':
- arguments->arg_flag = 11;
+ arguments->arg_flag = 10;
arguments->testString = 1;
nextArg = state->argv[state->next];
}
break;
case 'S':
- arguments->arg_flag = 12;
+ arguments->arg_flag = 11;
arguments->testStringIter = 1;
nextArg = state->argv[state->next];
}
break;
case 'l':
- arguments->arg_flag = 13;
+ arguments->arg_flag = 12;
arguments->setLocale = arg;
break;
+ case 'p':
+ arguments->arg_flag = 13;
+ arguments->printASCII = 1;
+ break;
case 'b':
- arguments->arg_flag = 14;
+ arguments->arg_flag = 15;
arguments->showUbidi = 1;
nextArg = state->argv[state->next];
state->next++;
}
break;
- case 'p':
- arguments->arg_flag = 15;
- arguments->printASCII = 1;
- break;
+
+#if (__TIZEN_VER > 4)
case 'm':
arguments->arg_flag = 16;
arguments->showMeasureUnit = 1;
state->next++;
}
break;
+
+ case 'c':
+ arguments->arg_flag = 14;
+ arguments->testNumberConvert = 1;
+
+ nextArg = state->argv[state->next];
+ if (nextArg && *nextArg != '-') {
+ arguments->testNumberConvertArg = nextArg;
+ state->next++;
+ }
+ break;
+
+#endif
+
case ARGP_KEY_NO_ARGS:
if (arguments->arg_flag == 0) {
argp_usage(state);