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