diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2010-02-18 17:35:15 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2010-02-18 17:35:15 +0000 |
commit | f723b60cf21ca708fcdcf1c278f8156a8277782f (patch) | |
tree | 678cfe3c524e62efacef12ed514cafd2ff929171 | |
parent | 90f5de33d5441eaf63bc779a5ee4ab836d6f8e02 (diff) | |
download | cygnal-f723b60cf21ca708fcdcf1c278f8156a8277782f.tar.gz cygnal-f723b60cf21ca708fcdcf1c278f8156a8277782f.tar.bz2 cygnal-f723b60cf21ca708fcdcf1c278f8156a8277782f.zip |
* libc/locale/timelocal.h (struct lc_time_T): Add missing ERA-related
members.
* libc/locale/timelocal.c (_C_time_local): Set new members to empty
strings.
* libc/locale/nl_langinfo.c (nl_langinfo): Return values from
__get_current_time_locale() for ERA related requests.
-rw-r--r-- | newlib/ChangeLog | 9 | ||||
-rw-r--r-- | newlib/libc/locale/nl_langinfo.c | 15 | ||||
-rw-r--r-- | newlib/libc/locale/timelocal.c | 28 | ||||
-rw-r--r-- | newlib/libc/locale/timelocal.h | 5 |
4 files changed, 46 insertions, 11 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog index f2554c3c4..c2064598c 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,12 @@ +2010-02-18 Corinna Vinschen <corinna@vinschen.de> + + * libc/locale/timelocal.h (struct lc_time_T): Add missing ERA-related + members. + * libc/locale/timelocal.c (_C_time_local): Set new members to empty + strings. + * libc/locale/nl_langinfo.c (nl_langinfo): Return values from + __get_current_time_locale() for ERA related requests. + 2010-02-16 Corinna Vinschen <corinna@vinschen.de> * libc/ctype/iswblank.c (iswblank): Remove Unicode characters diff --git a/newlib/libc/locale/nl_langinfo.c b/newlib/libc/locale/nl_langinfo.c index 8e8856de7..2f47c8735 100644 --- a/newlib/libc/locale/nl_langinfo.c +++ b/newlib/libc/locale/nl_langinfo.c @@ -175,24 +175,19 @@ _DEFUN(nl_langinfo, (item), ret = (char*) __get_current_time_locale()->mon[_REL(ABMON_1)]; break; case ERA: - /* XXX: need to be implemented */ - ret = ""; + ret = (char*) __get_current_time_locale()->era; break; case ERA_D_FMT: - /* XXX: need to be implemented */ - ret = ""; + ret = (char*) __get_current_time_locale()->era_d_fmt; break; case ERA_D_T_FMT: - /* XXX: need to be implemented */ - ret = ""; + ret = (char*) __get_current_time_locale()->era_d_t_fmt; break; case ERA_T_FMT: - /* XXX: need to be implemented */ - ret = ""; + ret = (char*) __get_current_time_locale()->era_t_fmt; break; case ALT_DIGITS: - /* XXX: need to be implemented */ - ret = ""; + ret = (char*) __get_current_time_locale()->alt_digits; break; case RADIXCHAR: ret = (char*) __get_current_numeric_locale()->decimal_point; diff --git a/newlib/libc/locale/timelocal.c b/newlib/libc/locale/timelocal.c index 17b9a2350..4c0f50c76 100644 --- a/newlib/libc/locale/timelocal.c +++ b/newlib/libc/locale/timelocal.c @@ -92,7 +92,33 @@ static const struct lc_time_T _C_time_locale = { /* ampm_fmt * To determine 12-hour clock format time (empty, if N/A) */ - "%I:%M:%S %p" + "%I:%M:%S %p", + + /* era + * Era. This and the following entries are used if the alternative + * date format is specified in strftime + */ + "", + + /* era_d_fmt + * Era date format used with the %Ex + */ + "", + + /* era_d_t_fmt + * Era date/time format (%Ec) + */ + "", + + /* era_t_fmt + * Era time format (%EX) + */ + "", + + /* alt_digits + * Alternate digits used if %O format prefix is specified + */ + "" }; struct lc_time_T * diff --git a/newlib/libc/locale/timelocal.h b/newlib/libc/locale/timelocal.h index e232a7304..80f72b66e 100644 --- a/newlib/libc/locale/timelocal.h +++ b/newlib/libc/locale/timelocal.h @@ -50,6 +50,11 @@ struct lc_time_T { const char *alt_month[12]; const char *md_order; const char *ampm_fmt; + const char *era; + const char *era_d_fmt; + const char *era_d_t_fmt; + const char *era_t_fmt; + const char *alt_digits; }; struct lc_time_T *__get_current_time_locale(void); |