From: Woochan Lee Date: Wed, 23 Aug 2017 10:52:14 +0000 (+0900) Subject: elm_datetime: Add 'O' character to ignore POSIX alternative format in format. X-Git-Tag: accepted/tizen/4.0/unified/20170901.203246~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=039a7196e4c0af31dc2b4ef565da19bc800e7ee1;p=platform%2Fupstream%2Felementary.git elm_datetime: Add 'O' character to ignore POSIX alternative format in format. Summary: _parse_format() function filtering "_/-/0/^/*" to filter POSIX alternatvie/extension formats, But the Datetime do not appear in some locale(fa_IR, lzh_TW, my_MM, or_IN) with 'O'. + improve code. (not compare with all of the characters. instead of that using strchr) https://lh.2xlibre.net/values/d_t_fmt/ @fix Test Plan: Set locale as fa_IR and create DateTime. and see fields, not appears. Reviewers: jpeg, cedric Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D5020 Change-Id: I5c64f301324834b771c452c9cf39da6faa782274 --- diff --git a/src/lib/elm_datetime.c b/src/lib/elm_datetime.c index 84dc2c5..78f972a 100644 --- a/src/lib/elm_datetime.c +++ b/src/lib/elm_datetime.c @@ -61,6 +61,7 @@ static Format_Map mapping[ELM_DATETIME_TYPE_COUNT] = { static const char *multifield_formats = "cxXrRTDF"; static const char *ignore_separators = "()"; +static const char *ignore_extensions = "E0_-O^#"; static Datetime_Mod_Api *dt_mod = NULL; static const char SIG_CHANGED[] = "changed"; @@ -298,7 +299,7 @@ _parse_format(Evas_Object *obj, { if (fmt_parsing) { - if (cur == '_' || cur == '-' || cur == '0' || cur == '^' || cur == '#') + if (strchr(ignore_extensions, cur)) { fmt_ptr++; continue;