[i18ninfo] Fix bug in date and time menu 88/166988/8
authorHyunjee Kim <hj0426.kim@samsung.com>
Mon, 15 Jan 2018 01:54:07 +0000 (10:54 +0900)
committerHyunjee Kim <hj0426.kim@samsung.com>
Tue, 6 Feb 2018 00:59:08 +0000 (09:59 +0900)
Change-Id: I3db174908fb997b84be246f4b921b52a05fe9cb8
Signed-off-by: Hyunjee Kim <hj0426.kim@samsung.com>
i18ninfo/i18ninfo.cpp

index 5168ad3..712de6b 100644 (file)
@@ -34,7 +34,6 @@ static int ASCIIDOC_FLAG = 0;
 
 
 const char *default_locale = I18N_ULOCALE_UK;
-i18n_uchar default_timezone_id[BUF_SIZE] = {0, };
 
 i18n_udate_format_style_e eTimeFormatStyle[] = {
        I18N_UDATE_FULL,
@@ -512,6 +511,16 @@ static int __get_date_and_time(char *input_time)
        i18n_uchar format[BUF_SIZE];
        i18n_ustring_copy_ua_n(format, "ddMMMyyyyHHmmssz", BUF_SIZE);
 
+       /* To get default time zone id */
+       i18n_timezone_h tmz;
+       char *timezone_id;
+       i18n_uchar default_timezone_id[BUF_SIZE] = {0, };
+
+       ret = i18n_timezone_create_default(&tmz);
+       CHECK_ERROR("18n_timezone_create_default", ret);
+       ret = i18n_timezone_get_id(tmz, &timezone_id);
+       i18n_ustring_copy_ua_n(default_timezone_id, timezone_id, strlen(timezone_id));
+
        int pattern_len, len;
        i18n_uchar pattern[BUF_SIZE], skeleton[BUF_SIZE];
        i18n_ustring_copy_ua(skeleton, I18N_UDATE_MONTH_DAY);
@@ -524,7 +533,6 @@ static int __get_date_and_time(char *input_time)
        printf("| %-17.17s | %-26.26s | %s \n",  "TIME TYPE" , "DATE TYPE" ,  "OUTPUT");
        for (n_enum_date_counter = 0; n_enum_date_counter < n_date_enum_size; n_enum_date_counter++) {
                for (n_enum_time_counter = 0; n_enum_time_counter < n_time_enum_size; n_enum_time_counter++) {
-                       i18n_ustring_copy_ua_n(default_timezone_id, default_locale, BUF_SIZE);
                        ret = i18n_udate_create(eTimeFormatStyle[n_enum_time_counter],
                                        eDateFormatStyle[n_enum_date_counter],
                                        default_locale, default_timezone_id, -1, pattern, -1, &format_h);
@@ -548,6 +556,10 @@ static int __get_date_and_time(char *input_time)
                }
        }
 
+       /* Release the time zone object. */
+       ret = i18n_timezone_destroy(tmz);
+       CHECK_ERROR("i18n_timezone_destroy", ret);
+       free(timezone_id);
        PRINT_ASCIIDOC_LOG("|===\n");
        return 0;
 }