elm_datetime: Add 'O' character to ignore POSIX alternative format in format. 21/145721/2
authorWoochan Lee <wc0917.lee@samsung.com>
Wed, 23 Aug 2017 10:52:14 +0000 (19:52 +0900)
committerGerrit Code Review <gerrit@review.ap-northeast-2.compute.internal>
Wed, 23 Aug 2017 11:44:21 +0000 (11:44 +0000)
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

src/lib/elm_datetime.c

index 84dc2c5..78f972a 100644 (file)
@@ -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;