newlib: nl_langinfo: Fix a bug of time stuff.

Previously, e.g. nl_langinfo(_NL_TIME_WMONTH_1) returns "February"
due to the bug. Similarly, nl_langinfo(_NL_TIME_WWDAY_1) returns
"Mon". This occurs because wide char month and weekday arrays are
pointed off-by-one (e.g. the array wmon[12] is reffered as wmon[1-12]
rather than wmon[0-11]). This patch fixes that.

Fixes: d47d5b850b ("Extend locale support to maintain wide char values of native strings")
Reviewed-by: Corinna Vinschen <corinna@vinschen.de>
Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
This commit is contained in:
Takashi Yano 2023-11-23 20:00:55 +09:00
parent 3ef4bb1861
commit 0e961f582a
1 changed files with 4 additions and 4 deletions

View File

@ -78,6 +78,7 @@ static struct _nl_item_t
_NLITEM (ctype, woutdigits[8]), _NLITEM (ctype, woutdigits[8]),
_NLITEM (ctype, woutdigits[9]), _NLITEM (ctype, woutdigits[9]),
_NLITEM (time, codeset), _NLITEM (time, codeset),
_NLITEM (time, wmon[0]),
_NLITEM (time, wmon[1]), _NLITEM (time, wmon[1]),
_NLITEM (time, wmon[2]), _NLITEM (time, wmon[2]),
_NLITEM (time, wmon[3]), _NLITEM (time, wmon[3]),
@ -89,7 +90,7 @@ static struct _nl_item_t
_NLITEM (time, wmon[9]), _NLITEM (time, wmon[9]),
_NLITEM (time, wmon[10]), _NLITEM (time, wmon[10]),
_NLITEM (time, wmon[11]), _NLITEM (time, wmon[11]),
_NLITEM (time, wmon[12]), _NLITEM (time, wmonth[0]),
_NLITEM (time, wmonth[1]), _NLITEM (time, wmonth[1]),
_NLITEM (time, wmonth[2]), _NLITEM (time, wmonth[2]),
_NLITEM (time, wmonth[3]), _NLITEM (time, wmonth[3]),
@ -101,21 +102,20 @@ static struct _nl_item_t
_NLITEM (time, wmonth[9]), _NLITEM (time, wmonth[9]),
_NLITEM (time, wmonth[10]), _NLITEM (time, wmonth[10]),
_NLITEM (time, wmonth[11]), _NLITEM (time, wmonth[11]),
_NLITEM (time, wmonth[12]), _NLITEM (time, wwday[0]),
_NLITEM (time, wwday[1]), _NLITEM (time, wwday[1]),
_NLITEM (time, wwday[2]), _NLITEM (time, wwday[2]),
_NLITEM (time, wwday[3]), _NLITEM (time, wwday[3]),
_NLITEM (time, wwday[4]), _NLITEM (time, wwday[4]),
_NLITEM (time, wwday[5]), _NLITEM (time, wwday[5]),
_NLITEM (time, wwday[6]), _NLITEM (time, wwday[6]),
_NLITEM (time, wwday[7]), _NLITEM (time, wweekday[0]),
_NLITEM (time, wweekday[1]), _NLITEM (time, wweekday[1]),
_NLITEM (time, wweekday[2]), _NLITEM (time, wweekday[2]),
_NLITEM (time, wweekday[3]), _NLITEM (time, wweekday[3]),
_NLITEM (time, wweekday[4]), _NLITEM (time, wweekday[4]),
_NLITEM (time, wweekday[5]), _NLITEM (time, wweekday[5]),
_NLITEM (time, wweekday[6]), _NLITEM (time, wweekday[6]),
_NLITEM (time, wweekday[7]),
_NLITEM (time, wX_fmt), _NLITEM (time, wX_fmt),
_NLITEM (time, wx_fmt), _NLITEM (time, wx_fmt),
_NLITEM (time, wc_fmt), _NLITEM (time, wc_fmt),