time_members.cc revision 132720
197403Sobrien// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
297403Sobrien
3132720Skan// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
497403Sobrien//
597403Sobrien// This file is part of the GNU ISO C++ Library.  This library is free
697403Sobrien// software; you can redistribute it and/or modify it under the
797403Sobrien// terms of the GNU General Public License as published by the
897403Sobrien// Free Software Foundation; either version 2, or (at your option)
997403Sobrien// any later version.
1097403Sobrien
1197403Sobrien// This library is distributed in the hope that it will be useful,
1297403Sobrien// but WITHOUT ANY WARRANTY; without even the implied warranty of
1397403Sobrien// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1497403Sobrien// GNU General Public License for more details.
1597403Sobrien
1697403Sobrien// You should have received a copy of the GNU General Public License along
1797403Sobrien// with this library; see the file COPYING.  If not, write to the Free
1897403Sobrien// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
1997403Sobrien// USA.
2097403Sobrien
2197403Sobrien// As a special exception, you may use this file as part of a free software
2297403Sobrien// library without restriction.  Specifically, if other files instantiate
2397403Sobrien// templates or use macros or inline functions from this file, or you compile
2497403Sobrien// this file and link it with other files to produce an executable, this
2597403Sobrien// file does not by itself cause the resulting executable to be covered by
2697403Sobrien// the GNU General Public License.  This exception does not however
2797403Sobrien// invalidate any other reasons why the executable file might be covered by
2897403Sobrien// the GNU General Public License.
2997403Sobrien
3097403Sobrien//
3197403Sobrien// ISO C++ 14882: 22.2.5.1.2 - time_get virtual functions
3297403Sobrien// ISO C++ 14882: 22.2.5.3.2 - time_put virtual functions
3397403Sobrien//
3497403Sobrien
3597403Sobrien// Written by Benjamin Kosnik <bkoz@redhat.com>
3697403Sobrien
3797403Sobrien#include <locale>
38117397Skan#include <bits/c++locale_internal.h>
3997403Sobrien
4097403Sobriennamespace std
4197403Sobrien{
4297403Sobrien  template<>
4397403Sobrien    void
4497403Sobrien    __timepunct<char>::
4597403Sobrien    _M_put(char* __s, size_t __maxlen, const char* __format,
4697403Sobrien	   const tm* __tm) const
4797403Sobrien    {
4897403Sobrien#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
49103447Skan      __strftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
5097403Sobrien#else
51102782Skan      char* __old = strdup(setlocale(LC_ALL, NULL));
52102782Skan      setlocale(LC_ALL, _M_name_timepunct);
5397403Sobrien      strftime(__s, __maxlen, __format, __tm);
5497403Sobrien      setlocale(LC_ALL, __old);
55102782Skan      free(__old);
5697403Sobrien#endif
5797403Sobrien    }
5897403Sobrien
5997403Sobrien  template<>
6097403Sobrien    void
6197403Sobrien    __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc)
6297403Sobrien    {
63132720Skan      if (!_M_data)
64132720Skan	_M_data = new __timepunct_cache<char>;
65132720Skan
66107606Sobrien      if (!__cloc)
6797403Sobrien	{
6897403Sobrien	  // "C" locale
69132720Skan	  _M_c_locale_timepunct = _S_get_c_locale();
70103447Skan
71132720Skan	  _M_data->_M_date_format = "%m/%d/%y";
72132720Skan	  _M_data->_M_date_era_format = "%m/%d/%y";
73132720Skan	  _M_data->_M_time_format = "%H:%M:%S";
74132720Skan	  _M_data->_M_time_era_format = "%H:%M:%S";
75132720Skan	  _M_data->_M_date_time_format = "";
76132720Skan	  _M_data->_M_date_time_era_format = "";
77132720Skan	  _M_data->_M_am = "AM";
78132720Skan	  _M_data->_M_pm = "PM";
79132720Skan	  _M_data->_M_am_pm_format = "";
8097403Sobrien
8197403Sobrien	  // Day names, starting with "C"'s Sunday.
82132720Skan	  _M_data->_M_day1 = "Sunday";
83132720Skan	  _M_data->_M_day2 = "Monday";
84132720Skan	  _M_data->_M_day3 = "Tuesday";
85132720Skan	  _M_data->_M_day4 = "Wednesday";
86132720Skan	  _M_data->_M_day5 = "Thursday";
87132720Skan	  _M_data->_M_day6 = "Friday";
88132720Skan	  _M_data->_M_day7 = "Saturday";
8997403Sobrien
9097403Sobrien	  // Abbreviated day names, starting with "C"'s Sun.
91132720Skan	  _M_data->_M_aday1 = "Sun";
92132720Skan	  _M_data->_M_aday2 = "Mon";
93132720Skan	  _M_data->_M_aday3 = "Tue";
94132720Skan	  _M_data->_M_aday4 = "Wed";
95132720Skan	  _M_data->_M_aday5 = "Thu";
96132720Skan	  _M_data->_M_aday6 = "Fri";
97132720Skan	  _M_data->_M_aday7 = "Sat";
9897403Sobrien
9997403Sobrien	  // Month names, starting with "C"'s January.
100132720Skan	  _M_data->_M_month01 = "January";
101132720Skan	  _M_data->_M_month02 = "February";
102132720Skan	  _M_data->_M_month03 = "March";
103132720Skan	  _M_data->_M_month04 = "April";
104132720Skan	  _M_data->_M_month05 = "May";
105132720Skan	  _M_data->_M_month06 = "June";
106132720Skan	  _M_data->_M_month07 = "July";
107132720Skan	  _M_data->_M_month08 = "August";
108132720Skan	  _M_data->_M_month09 = "September";
109132720Skan	  _M_data->_M_month10 = "October";
110132720Skan	  _M_data->_M_month11 = "November";
111132720Skan	  _M_data->_M_month12 = "December";
11297403Sobrien
11397403Sobrien	  // Abbreviated month names, starting with "C"'s Jan.
114132720Skan	  _M_data->_M_amonth01 = "Jan";
115132720Skan	  _M_data->_M_amonth02 = "Feb";
116132720Skan	  _M_data->_M_amonth03 = "Mar";
117132720Skan	  _M_data->_M_amonth04 = "Apr";
118132720Skan	  _M_data->_M_amonth05 = "May";
119132720Skan	  _M_data->_M_amonth06 = "Jun";
120132720Skan	  _M_data->_M_amonth07 = "Jul";
121132720Skan	  _M_data->_M_amonth08 = "Aug";
122132720Skan	  _M_data->_M_amonth09 = "Sep";
123132720Skan	  _M_data->_M_amonth10 = "Oct";
124132720Skan	  _M_data->_M_amonth11 = "Nov";
125132720Skan	  _M_data->_M_amonth12 = "Dec";
12697403Sobrien	}
12797403Sobrien      else
12897403Sobrien	{
12997403Sobrien	  _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
13097403Sobrien
131132720Skan	  _M_data->_M_date_format = __nl_langinfo_l(D_FMT, __cloc);
132132720Skan	  _M_data->_M_date_era_format = __nl_langinfo_l(ERA_D_FMT, __cloc);
133132720Skan	  _M_data->_M_time_format = __nl_langinfo_l(T_FMT, __cloc);
134132720Skan	  _M_data->_M_time_era_format = __nl_langinfo_l(ERA_T_FMT, __cloc);
135132720Skan	  _M_data->_M_date_time_format = __nl_langinfo_l(D_T_FMT, __cloc);
136132720Skan	  _M_data->_M_date_time_era_format = __nl_langinfo_l(ERA_D_T_FMT, __cloc);
137132720Skan	  _M_data->_M_am = __nl_langinfo_l(AM_STR, __cloc);
138132720Skan	  _M_data->_M_pm = __nl_langinfo_l(PM_STR, __cloc);
139132720Skan	  _M_data->_M_am_pm_format = __nl_langinfo_l(T_FMT_AMPM, __cloc);
14097403Sobrien
14197403Sobrien	  // Day names, starting with "C"'s Sunday.
142132720Skan	  _M_data->_M_day1 = __nl_langinfo_l(DAY_1, __cloc);
143132720Skan	  _M_data->_M_day2 = __nl_langinfo_l(DAY_2, __cloc);
144132720Skan	  _M_data->_M_day3 = __nl_langinfo_l(DAY_3, __cloc);
145132720Skan	  _M_data->_M_day4 = __nl_langinfo_l(DAY_4, __cloc);
146132720Skan	  _M_data->_M_day5 = __nl_langinfo_l(DAY_5, __cloc);
147132720Skan	  _M_data->_M_day6 = __nl_langinfo_l(DAY_6, __cloc);
148132720Skan	  _M_data->_M_day7 = __nl_langinfo_l(DAY_7, __cloc);
14997403Sobrien
15097403Sobrien	  // Abbreviated day names, starting with "C"'s Sun.
151132720Skan	  _M_data->_M_aday1 = __nl_langinfo_l(ABDAY_1, __cloc);
152132720Skan	  _M_data->_M_aday2 = __nl_langinfo_l(ABDAY_2, __cloc);
153132720Skan	  _M_data->_M_aday3 = __nl_langinfo_l(ABDAY_3, __cloc);
154132720Skan	  _M_data->_M_aday4 = __nl_langinfo_l(ABDAY_4, __cloc);
155132720Skan	  _M_data->_M_aday5 = __nl_langinfo_l(ABDAY_5, __cloc);
156132720Skan	  _M_data->_M_aday6 = __nl_langinfo_l(ABDAY_6, __cloc);
157132720Skan	  _M_data->_M_aday7 = __nl_langinfo_l(ABDAY_7, __cloc);
15897403Sobrien
15997403Sobrien	  // Month names, starting with "C"'s January.
160132720Skan	  _M_data->_M_month01 = __nl_langinfo_l(MON_1, __cloc);
161132720Skan	  _M_data->_M_month02 = __nl_langinfo_l(MON_2, __cloc);
162132720Skan	  _M_data->_M_month03 = __nl_langinfo_l(MON_3, __cloc);
163132720Skan	  _M_data->_M_month04 = __nl_langinfo_l(MON_4, __cloc);
164132720Skan	  _M_data->_M_month05 = __nl_langinfo_l(MON_5, __cloc);
165132720Skan	  _M_data->_M_month06 = __nl_langinfo_l(MON_6, __cloc);
166132720Skan	  _M_data->_M_month07 = __nl_langinfo_l(MON_7, __cloc);
167132720Skan	  _M_data->_M_month08 = __nl_langinfo_l(MON_8, __cloc);
168132720Skan	  _M_data->_M_month09 = __nl_langinfo_l(MON_9, __cloc);
169132720Skan	  _M_data->_M_month10 = __nl_langinfo_l(MON_10, __cloc);
170132720Skan	  _M_data->_M_month11 = __nl_langinfo_l(MON_11, __cloc);
171132720Skan	  _M_data->_M_month12 = __nl_langinfo_l(MON_12, __cloc);
17297403Sobrien
17397403Sobrien	  // Abbreviated month names, starting with "C"'s Jan.
174132720Skan	  _M_data->_M_amonth01 = __nl_langinfo_l(ABMON_1, __cloc);
175132720Skan	  _M_data->_M_amonth02 = __nl_langinfo_l(ABMON_2, __cloc);
176132720Skan	  _M_data->_M_amonth03 = __nl_langinfo_l(ABMON_3, __cloc);
177132720Skan	  _M_data->_M_amonth04 = __nl_langinfo_l(ABMON_4, __cloc);
178132720Skan	  _M_data->_M_amonth05 = __nl_langinfo_l(ABMON_5, __cloc);
179132720Skan	  _M_data->_M_amonth06 = __nl_langinfo_l(ABMON_6, __cloc);
180132720Skan	  _M_data->_M_amonth07 = __nl_langinfo_l(ABMON_7, __cloc);
181132720Skan	  _M_data->_M_amonth08 = __nl_langinfo_l(ABMON_8, __cloc);
182132720Skan	  _M_data->_M_amonth09 = __nl_langinfo_l(ABMON_9, __cloc);
183132720Skan	  _M_data->_M_amonth10 = __nl_langinfo_l(ABMON_10, __cloc);
184132720Skan	  _M_data->_M_amonth11 = __nl_langinfo_l(ABMON_11, __cloc);
185132720Skan	  _M_data->_M_amonth12 = __nl_langinfo_l(ABMON_12, __cloc);
18697403Sobrien	}
18797403Sobrien    }
18897403Sobrien
189132720Skan#ifdef _GLIBCXX_USE_WCHAR_T
19097403Sobrien  template<>
19197403Sobrien    void
19297403Sobrien    __timepunct<wchar_t>::
19397403Sobrien    _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format,
19497403Sobrien	   const tm* __tm) const
19597403Sobrien    {
19697403Sobrien#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
197103447Skan      __wcsftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
19897403Sobrien#else
199102782Skan      char* __old = strdup(setlocale(LC_ALL, NULL));
200102782Skan      setlocale(LC_ALL, _M_name_timepunct);
20197403Sobrien      wcsftime(__s, __maxlen, __format, __tm);
20297403Sobrien      setlocale(LC_ALL, __old);
203102782Skan      free(__old);
20497403Sobrien#endif
20597403Sobrien    }
20697403Sobrien
20797403Sobrien  template<>
20897403Sobrien    void
20997403Sobrien    __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc)
21097403Sobrien    {
211132720Skan      if (!_M_data)
212132720Skan	_M_data = new __timepunct_cache<wchar_t>;
213132720Skan
214107606Sobrien      if (!__cloc)
21597403Sobrien	{
21697403Sobrien	  // "C" locale
217132720Skan	  _M_c_locale_timepunct = _S_get_c_locale();
218103447Skan
219132720Skan	  _M_data->_M_date_format = L"%m/%d/%y";
220132720Skan	  _M_data->_M_date_era_format = L"%m/%d/%y";
221132720Skan	  _M_data->_M_time_format = L"%H:%M:%S";
222132720Skan	  _M_data->_M_time_era_format = L"%H:%M:%S";
223132720Skan	  _M_data->_M_date_time_format = L"";
224132720Skan	  _M_data->_M_date_time_era_format = L"";
225132720Skan	  _M_data->_M_am = L"AM";
226132720Skan	  _M_data->_M_pm = L"PM";
227132720Skan	  _M_data->_M_am_pm_format = L"";
22897403Sobrien
22997403Sobrien	  // Day names, starting with "C"'s Sunday.
230132720Skan	  _M_data->_M_day1 = L"Sunday";
231132720Skan	  _M_data->_M_day2 = L"Monday";
232132720Skan	  _M_data->_M_day3 = L"Tuesday";
233132720Skan	  _M_data->_M_day4 = L"Wednesday";
234132720Skan	  _M_data->_M_day5 = L"Thursday";
235132720Skan	  _M_data->_M_day6 = L"Friday";
236132720Skan	  _M_data->_M_day7 = L"Saturday";
23797403Sobrien
23897403Sobrien	  // Abbreviated day names, starting with "C"'s Sun.
239132720Skan	  _M_data->_M_aday1 = L"Sun";
240132720Skan	  _M_data->_M_aday2 = L"Mon";
241132720Skan	  _M_data->_M_aday3 = L"Tue";
242132720Skan	  _M_data->_M_aday4 = L"Wed";
243132720Skan	  _M_data->_M_aday5 = L"Thu";
244132720Skan	  _M_data->_M_aday6 = L"Fri";
245132720Skan	  _M_data->_M_aday7 = L"Sat";
24697403Sobrien
24797403Sobrien	  // Month names, starting with "C"'s January.
248132720Skan	  _M_data->_M_month01 = L"January";
249132720Skan	  _M_data->_M_month02 = L"February";
250132720Skan	  _M_data->_M_month03 = L"March";
251132720Skan	  _M_data->_M_month04 = L"April";
252132720Skan	  _M_data->_M_month05 = L"May";
253132720Skan	  _M_data->_M_month06 = L"June";
254132720Skan	  _M_data->_M_month07 = L"July";
255132720Skan	  _M_data->_M_month08 = L"August";
256132720Skan	  _M_data->_M_month09 = L"September";
257132720Skan	  _M_data->_M_month10 = L"October";
258132720Skan	  _M_data->_M_month11 = L"November";
259132720Skan	  _M_data->_M_month12 = L"December";
26097403Sobrien
26197403Sobrien	  // Abbreviated month names, starting with "C"'s Jan.
262132720Skan	  _M_data->_M_amonth01 = L"Jan";
263132720Skan	  _M_data->_M_amonth02 = L"Feb";
264132720Skan	  _M_data->_M_amonth03 = L"Mar";
265132720Skan	  _M_data->_M_amonth04 = L"Apr";
266132720Skan	  _M_data->_M_amonth05 = L"May";
267132720Skan	  _M_data->_M_amonth06 = L"Jun";
268132720Skan	  _M_data->_M_amonth07 = L"Jul";
269132720Skan	  _M_data->_M_amonth08 = L"Aug";
270132720Skan	  _M_data->_M_amonth09 = L"Sep";
271132720Skan	  _M_data->_M_amonth10 = L"Oct";
272132720Skan	  _M_data->_M_amonth11 = L"Nov";
273132720Skan	  _M_data->_M_amonth12 = L"Dec";
27497403Sobrien	}
27597403Sobrien      else
27697403Sobrien	{
27797403Sobrien	  _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
27897403Sobrien
279132720Skan	  _M_data->_M_date_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WD_FMT, __cloc));
280132720Skan	  _M_data->_M_date_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_D_FMT, __cloc));
281132720Skan	  _M_data->_M_time_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WT_FMT, __cloc));
282132720Skan	  _M_data->_M_time_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_T_FMT, __cloc));
283132720Skan	  _M_data->_M_date_time_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WD_T_FMT, __cloc));
284132720Skan	  _M_data->_M_date_time_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_D_T_FMT, __cloc));
285132720Skan	  _M_data->_M_am = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WAM_STR, __cloc));
286132720Skan	  _M_data->_M_pm = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WPM_STR, __cloc));
287132720Skan	  _M_data->_M_am_pm_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WT_FMT_AMPM, __cloc));
28897403Sobrien
28997403Sobrien	  // Day names, starting with "C"'s Sunday.
290132720Skan	  _M_data->_M_day1 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_1, __cloc));
291132720Skan	  _M_data->_M_day2 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_2, __cloc));
292132720Skan	  _M_data->_M_day3 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_3, __cloc));
293132720Skan	  _M_data->_M_day4 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_4, __cloc));
294132720Skan	  _M_data->_M_day5 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_5, __cloc));
295132720Skan	  _M_data->_M_day6 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_6, __cloc));
296132720Skan	  _M_data->_M_day7 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_7, __cloc));
29797403Sobrien
29897403Sobrien	  // Abbreviated day names, starting with "C"'s Sun.
299132720Skan	  _M_data->_M_aday1 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_1, __cloc));
300132720Skan	  _M_data->_M_aday2 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_2, __cloc));
301132720Skan	  _M_data->_M_aday3 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_3, __cloc));
302132720Skan	  _M_data->_M_aday4 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_4, __cloc));
303132720Skan	  _M_data->_M_aday5 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_5, __cloc));
304132720Skan	  _M_data->_M_aday6 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_6, __cloc));
305132720Skan	  _M_data->_M_aday7 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_7, __cloc));
30697403Sobrien
30797403Sobrien	  // Month names, starting with "C"'s January.
308132720Skan	  _M_data->_M_month01 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_1, __cloc));
309132720Skan	  _M_data->_M_month02 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_2, __cloc));
310132720Skan	  _M_data->_M_month03 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_3, __cloc));
311132720Skan	  _M_data->_M_month04 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_4, __cloc));
312132720Skan	  _M_data->_M_month05 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_5, __cloc));
313132720Skan	  _M_data->_M_month06 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_6, __cloc));
314132720Skan	  _M_data->_M_month07 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_7, __cloc));
315132720Skan	  _M_data->_M_month08 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_8, __cloc));
316132720Skan	  _M_data->_M_month09 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_9, __cloc));
317132720Skan	  _M_data->_M_month10 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_10, __cloc));
318132720Skan	  _M_data->_M_month11 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_11, __cloc));
319132720Skan	  _M_data->_M_month12 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_12, __cloc));
32097403Sobrien
32197403Sobrien	  // Abbreviated month names, starting with "C"'s Jan.
322132720Skan	  _M_data->_M_amonth01 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_1, __cloc));
323132720Skan	  _M_data->_M_amonth02 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_2, __cloc));
324132720Skan	  _M_data->_M_amonth03 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_3, __cloc));
325132720Skan	  _M_data->_M_amonth04 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_4, __cloc));
326132720Skan	  _M_data->_M_amonth05 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_5, __cloc));
327132720Skan	  _M_data->_M_amonth06 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_6, __cloc));
328132720Skan	  _M_data->_M_amonth07 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_7, __cloc));
329132720Skan	  _M_data->_M_amonth08 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_8, __cloc));
330132720Skan	  _M_data->_M_amonth09 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_9, __cloc));
331132720Skan	  _M_data->_M_amonth10 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_10, __cloc));
332132720Skan	  _M_data->_M_amonth11 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_11, __cloc));
333132720Skan	  _M_data->_M_amonth12 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_12, __cloc));
33497403Sobrien	}
33597403Sobrien    }
33697403Sobrien#endif
33797403Sobrien}
338