197403Sobrien// std::time_get, std::time_put implementation, GNU version -*- C++ -*- 297403Sobrien 3169691Skan// Copyright (C) 2001, 2002, 2003, 2004, 2005 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 18169691Skan// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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 40169691Skan_GLIBCXX_BEGIN_NAMESPACE(std) 41169691Skan 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) 49146897Skan const size_t __len = __strftime_l(__s, __maxlen, __format, __tm, 50146897Skan _M_c_locale_timepunct); 5197403Sobrien#else 52102782Skan char* __old = strdup(setlocale(LC_ALL, NULL)); 53102782Skan setlocale(LC_ALL, _M_name_timepunct); 54146897Skan const size_t __len = strftime(__s, __maxlen, __format, __tm); 5597403Sobrien setlocale(LC_ALL, __old); 56102782Skan free(__old); 5797403Sobrien#endif 58146897Skan // Make sure __s is null terminated. 59146897Skan if (__len == 0) 60146897Skan __s[0] = '\0'; 6197403Sobrien } 6297403Sobrien 6397403Sobrien template<> 6497403Sobrien void 6597403Sobrien __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc) 6697403Sobrien { 67132720Skan if (!_M_data) 68132720Skan _M_data = new __timepunct_cache<char>; 69132720Skan 70107606Sobrien if (!__cloc) 7197403Sobrien { 7297403Sobrien // "C" locale 73132720Skan _M_c_locale_timepunct = _S_get_c_locale(); 74103447Skan 75132720Skan _M_data->_M_date_format = "%m/%d/%y"; 76132720Skan _M_data->_M_date_era_format = "%m/%d/%y"; 77132720Skan _M_data->_M_time_format = "%H:%M:%S"; 78132720Skan _M_data->_M_time_era_format = "%H:%M:%S"; 79132720Skan _M_data->_M_date_time_format = ""; 80132720Skan _M_data->_M_date_time_era_format = ""; 81132720Skan _M_data->_M_am = "AM"; 82132720Skan _M_data->_M_pm = "PM"; 83132720Skan _M_data->_M_am_pm_format = ""; 8497403Sobrien 8597403Sobrien // Day names, starting with "C"'s Sunday. 86132720Skan _M_data->_M_day1 = "Sunday"; 87132720Skan _M_data->_M_day2 = "Monday"; 88132720Skan _M_data->_M_day3 = "Tuesday"; 89132720Skan _M_data->_M_day4 = "Wednesday"; 90132720Skan _M_data->_M_day5 = "Thursday"; 91132720Skan _M_data->_M_day6 = "Friday"; 92132720Skan _M_data->_M_day7 = "Saturday"; 9397403Sobrien 9497403Sobrien // Abbreviated day names, starting with "C"'s Sun. 95132720Skan _M_data->_M_aday1 = "Sun"; 96132720Skan _M_data->_M_aday2 = "Mon"; 97132720Skan _M_data->_M_aday3 = "Tue"; 98132720Skan _M_data->_M_aday4 = "Wed"; 99132720Skan _M_data->_M_aday5 = "Thu"; 100132720Skan _M_data->_M_aday6 = "Fri"; 101132720Skan _M_data->_M_aday7 = "Sat"; 10297403Sobrien 10397403Sobrien // Month names, starting with "C"'s January. 104132720Skan _M_data->_M_month01 = "January"; 105132720Skan _M_data->_M_month02 = "February"; 106132720Skan _M_data->_M_month03 = "March"; 107132720Skan _M_data->_M_month04 = "April"; 108132720Skan _M_data->_M_month05 = "May"; 109132720Skan _M_data->_M_month06 = "June"; 110132720Skan _M_data->_M_month07 = "July"; 111132720Skan _M_data->_M_month08 = "August"; 112132720Skan _M_data->_M_month09 = "September"; 113132720Skan _M_data->_M_month10 = "October"; 114132720Skan _M_data->_M_month11 = "November"; 115132720Skan _M_data->_M_month12 = "December"; 11697403Sobrien 11797403Sobrien // Abbreviated month names, starting with "C"'s Jan. 118132720Skan _M_data->_M_amonth01 = "Jan"; 119132720Skan _M_data->_M_amonth02 = "Feb"; 120132720Skan _M_data->_M_amonth03 = "Mar"; 121132720Skan _M_data->_M_amonth04 = "Apr"; 122132720Skan _M_data->_M_amonth05 = "May"; 123132720Skan _M_data->_M_amonth06 = "Jun"; 124132720Skan _M_data->_M_amonth07 = "Jul"; 125132720Skan _M_data->_M_amonth08 = "Aug"; 126132720Skan _M_data->_M_amonth09 = "Sep"; 127132720Skan _M_data->_M_amonth10 = "Oct"; 128132720Skan _M_data->_M_amonth11 = "Nov"; 129132720Skan _M_data->_M_amonth12 = "Dec"; 13097403Sobrien } 13197403Sobrien else 13297403Sobrien { 13397403Sobrien _M_c_locale_timepunct = _S_clone_c_locale(__cloc); 13497403Sobrien 135132720Skan _M_data->_M_date_format = __nl_langinfo_l(D_FMT, __cloc); 136132720Skan _M_data->_M_date_era_format = __nl_langinfo_l(ERA_D_FMT, __cloc); 137132720Skan _M_data->_M_time_format = __nl_langinfo_l(T_FMT, __cloc); 138132720Skan _M_data->_M_time_era_format = __nl_langinfo_l(ERA_T_FMT, __cloc); 139132720Skan _M_data->_M_date_time_format = __nl_langinfo_l(D_T_FMT, __cloc); 140169691Skan _M_data->_M_date_time_era_format = __nl_langinfo_l(ERA_D_T_FMT, 141169691Skan __cloc); 142132720Skan _M_data->_M_am = __nl_langinfo_l(AM_STR, __cloc); 143132720Skan _M_data->_M_pm = __nl_langinfo_l(PM_STR, __cloc); 144132720Skan _M_data->_M_am_pm_format = __nl_langinfo_l(T_FMT_AMPM, __cloc); 14597403Sobrien 14697403Sobrien // Day names, starting with "C"'s Sunday. 147132720Skan _M_data->_M_day1 = __nl_langinfo_l(DAY_1, __cloc); 148132720Skan _M_data->_M_day2 = __nl_langinfo_l(DAY_2, __cloc); 149132720Skan _M_data->_M_day3 = __nl_langinfo_l(DAY_3, __cloc); 150132720Skan _M_data->_M_day4 = __nl_langinfo_l(DAY_4, __cloc); 151132720Skan _M_data->_M_day5 = __nl_langinfo_l(DAY_5, __cloc); 152132720Skan _M_data->_M_day6 = __nl_langinfo_l(DAY_6, __cloc); 153132720Skan _M_data->_M_day7 = __nl_langinfo_l(DAY_7, __cloc); 15497403Sobrien 15597403Sobrien // Abbreviated day names, starting with "C"'s Sun. 156132720Skan _M_data->_M_aday1 = __nl_langinfo_l(ABDAY_1, __cloc); 157132720Skan _M_data->_M_aday2 = __nl_langinfo_l(ABDAY_2, __cloc); 158132720Skan _M_data->_M_aday3 = __nl_langinfo_l(ABDAY_3, __cloc); 159132720Skan _M_data->_M_aday4 = __nl_langinfo_l(ABDAY_4, __cloc); 160132720Skan _M_data->_M_aday5 = __nl_langinfo_l(ABDAY_5, __cloc); 161132720Skan _M_data->_M_aday6 = __nl_langinfo_l(ABDAY_6, __cloc); 162132720Skan _M_data->_M_aday7 = __nl_langinfo_l(ABDAY_7, __cloc); 16397403Sobrien 16497403Sobrien // Month names, starting with "C"'s January. 165132720Skan _M_data->_M_month01 = __nl_langinfo_l(MON_1, __cloc); 166132720Skan _M_data->_M_month02 = __nl_langinfo_l(MON_2, __cloc); 167132720Skan _M_data->_M_month03 = __nl_langinfo_l(MON_3, __cloc); 168132720Skan _M_data->_M_month04 = __nl_langinfo_l(MON_4, __cloc); 169132720Skan _M_data->_M_month05 = __nl_langinfo_l(MON_5, __cloc); 170132720Skan _M_data->_M_month06 = __nl_langinfo_l(MON_6, __cloc); 171132720Skan _M_data->_M_month07 = __nl_langinfo_l(MON_7, __cloc); 172132720Skan _M_data->_M_month08 = __nl_langinfo_l(MON_8, __cloc); 173132720Skan _M_data->_M_month09 = __nl_langinfo_l(MON_9, __cloc); 174132720Skan _M_data->_M_month10 = __nl_langinfo_l(MON_10, __cloc); 175132720Skan _M_data->_M_month11 = __nl_langinfo_l(MON_11, __cloc); 176132720Skan _M_data->_M_month12 = __nl_langinfo_l(MON_12, __cloc); 17797403Sobrien 17897403Sobrien // Abbreviated month names, starting with "C"'s Jan. 179132720Skan _M_data->_M_amonth01 = __nl_langinfo_l(ABMON_1, __cloc); 180132720Skan _M_data->_M_amonth02 = __nl_langinfo_l(ABMON_2, __cloc); 181132720Skan _M_data->_M_amonth03 = __nl_langinfo_l(ABMON_3, __cloc); 182132720Skan _M_data->_M_amonth04 = __nl_langinfo_l(ABMON_4, __cloc); 183132720Skan _M_data->_M_amonth05 = __nl_langinfo_l(ABMON_5, __cloc); 184132720Skan _M_data->_M_amonth06 = __nl_langinfo_l(ABMON_6, __cloc); 185132720Skan _M_data->_M_amonth07 = __nl_langinfo_l(ABMON_7, __cloc); 186132720Skan _M_data->_M_amonth08 = __nl_langinfo_l(ABMON_8, __cloc); 187132720Skan _M_data->_M_amonth09 = __nl_langinfo_l(ABMON_9, __cloc); 188132720Skan _M_data->_M_amonth10 = __nl_langinfo_l(ABMON_10, __cloc); 189132720Skan _M_data->_M_amonth11 = __nl_langinfo_l(ABMON_11, __cloc); 190132720Skan _M_data->_M_amonth12 = __nl_langinfo_l(ABMON_12, __cloc); 19197403Sobrien } 19297403Sobrien } 19397403Sobrien 194132720Skan#ifdef _GLIBCXX_USE_WCHAR_T 19597403Sobrien template<> 19697403Sobrien void 19797403Sobrien __timepunct<wchar_t>:: 19897403Sobrien _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format, 19997403Sobrien const tm* __tm) const 20097403Sobrien { 20197403Sobrien#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) 202146897Skan const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm, 203146897Skan _M_c_locale_timepunct); 20497403Sobrien#else 205102782Skan char* __old = strdup(setlocale(LC_ALL, NULL)); 206102782Skan setlocale(LC_ALL, _M_name_timepunct); 207146897Skan const size_t __len = wcsftime(__s, __maxlen, __format, __tm); 20897403Sobrien setlocale(LC_ALL, __old); 209102782Skan free(__old); 21097403Sobrien#endif 211146897Skan // Make sure __s is null terminated. 212146897Skan if (__len == 0) 213146897Skan __s[0] = L'\0'; 21497403Sobrien } 21597403Sobrien 21697403Sobrien template<> 21797403Sobrien void 21897403Sobrien __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc) 21997403Sobrien { 220132720Skan if (!_M_data) 221132720Skan _M_data = new __timepunct_cache<wchar_t>; 222132720Skan 223107606Sobrien if (!__cloc) 22497403Sobrien { 22597403Sobrien // "C" locale 226132720Skan _M_c_locale_timepunct = _S_get_c_locale(); 227103447Skan 228132720Skan _M_data->_M_date_format = L"%m/%d/%y"; 229132720Skan _M_data->_M_date_era_format = L"%m/%d/%y"; 230132720Skan _M_data->_M_time_format = L"%H:%M:%S"; 231132720Skan _M_data->_M_time_era_format = L"%H:%M:%S"; 232132720Skan _M_data->_M_date_time_format = L""; 233132720Skan _M_data->_M_date_time_era_format = L""; 234132720Skan _M_data->_M_am = L"AM"; 235132720Skan _M_data->_M_pm = L"PM"; 236132720Skan _M_data->_M_am_pm_format = L""; 23797403Sobrien 23897403Sobrien // Day names, starting with "C"'s Sunday. 239132720Skan _M_data->_M_day1 = L"Sunday"; 240132720Skan _M_data->_M_day2 = L"Monday"; 241132720Skan _M_data->_M_day3 = L"Tuesday"; 242132720Skan _M_data->_M_day4 = L"Wednesday"; 243132720Skan _M_data->_M_day5 = L"Thursday"; 244132720Skan _M_data->_M_day6 = L"Friday"; 245132720Skan _M_data->_M_day7 = L"Saturday"; 24697403Sobrien 24797403Sobrien // Abbreviated day names, starting with "C"'s Sun. 248132720Skan _M_data->_M_aday1 = L"Sun"; 249132720Skan _M_data->_M_aday2 = L"Mon"; 250132720Skan _M_data->_M_aday3 = L"Tue"; 251132720Skan _M_data->_M_aday4 = L"Wed"; 252132720Skan _M_data->_M_aday5 = L"Thu"; 253132720Skan _M_data->_M_aday6 = L"Fri"; 254132720Skan _M_data->_M_aday7 = L"Sat"; 25597403Sobrien 25697403Sobrien // Month names, starting with "C"'s January. 257132720Skan _M_data->_M_month01 = L"January"; 258132720Skan _M_data->_M_month02 = L"February"; 259132720Skan _M_data->_M_month03 = L"March"; 260132720Skan _M_data->_M_month04 = L"April"; 261132720Skan _M_data->_M_month05 = L"May"; 262132720Skan _M_data->_M_month06 = L"June"; 263132720Skan _M_data->_M_month07 = L"July"; 264132720Skan _M_data->_M_month08 = L"August"; 265132720Skan _M_data->_M_month09 = L"September"; 266132720Skan _M_data->_M_month10 = L"October"; 267132720Skan _M_data->_M_month11 = L"November"; 268132720Skan _M_data->_M_month12 = L"December"; 26997403Sobrien 27097403Sobrien // Abbreviated month names, starting with "C"'s Jan. 271132720Skan _M_data->_M_amonth01 = L"Jan"; 272132720Skan _M_data->_M_amonth02 = L"Feb"; 273132720Skan _M_data->_M_amonth03 = L"Mar"; 274132720Skan _M_data->_M_amonth04 = L"Apr"; 275132720Skan _M_data->_M_amonth05 = L"May"; 276132720Skan _M_data->_M_amonth06 = L"Jun"; 277132720Skan _M_data->_M_amonth07 = L"Jul"; 278132720Skan _M_data->_M_amonth08 = L"Aug"; 279132720Skan _M_data->_M_amonth09 = L"Sep"; 280132720Skan _M_data->_M_amonth10 = L"Oct"; 281132720Skan _M_data->_M_amonth11 = L"Nov"; 282132720Skan _M_data->_M_amonth12 = L"Dec"; 28397403Sobrien } 28497403Sobrien else 28597403Sobrien { 28697403Sobrien _M_c_locale_timepunct = _S_clone_c_locale(__cloc); 28797403Sobrien 288169691Skan union { char *__s; wchar_t *__w; } __u; 28997403Sobrien 290169691Skan __u.__s = __nl_langinfo_l(_NL_WD_FMT, __cloc); 291169691Skan _M_data->_M_date_format = __u.__w; 292169691Skan __u.__s = __nl_langinfo_l(_NL_WERA_D_FMT, __cloc); 293169691Skan _M_data->_M_date_era_format = __u.__w; 294169691Skan __u.__s = __nl_langinfo_l(_NL_WT_FMT, __cloc); 295169691Skan _M_data->_M_time_format = __u.__w; 296169691Skan __u.__s = __nl_langinfo_l(_NL_WERA_T_FMT, __cloc); 297169691Skan _M_data->_M_time_era_format = __u.__w; 298169691Skan __u.__s = __nl_langinfo_l(_NL_WD_T_FMT, __cloc); 299169691Skan _M_data->_M_date_time_format = __u.__w; 300169691Skan __u.__s = __nl_langinfo_l(_NL_WERA_D_T_FMT, __cloc); 301169691Skan _M_data->_M_date_time_era_format = __u.__w; 302169691Skan __u.__s = __nl_langinfo_l(_NL_WAM_STR, __cloc); 303169691Skan _M_data->_M_am = __u.__w; 304169691Skan __u.__s = __nl_langinfo_l(_NL_WPM_STR, __cloc); 305169691Skan _M_data->_M_pm = __u.__w; 306169691Skan __u.__s = __nl_langinfo_l(_NL_WT_FMT_AMPM, __cloc); 307169691Skan _M_data->_M_am_pm_format = __u.__w; 308169691Skan 30997403Sobrien // Day names, starting with "C"'s Sunday. 310169691Skan __u.__s = __nl_langinfo_l(_NL_WDAY_1, __cloc); 311169691Skan _M_data->_M_day1 = __u.__w; 312169691Skan __u.__s = __nl_langinfo_l(_NL_WDAY_2, __cloc); 313169691Skan _M_data->_M_day2 = __u.__w; 314169691Skan __u.__s = __nl_langinfo_l(_NL_WDAY_3, __cloc); 315169691Skan _M_data->_M_day3 = __u.__w; 316169691Skan __u.__s = __nl_langinfo_l(_NL_WDAY_4, __cloc); 317169691Skan _M_data->_M_day4 = __u.__w; 318169691Skan __u.__s = __nl_langinfo_l(_NL_WDAY_5, __cloc); 319169691Skan _M_data->_M_day5 = __u.__w; 320169691Skan __u.__s = __nl_langinfo_l(_NL_WDAY_6, __cloc); 321169691Skan _M_data->_M_day6 = __u.__w; 322169691Skan __u.__s = __nl_langinfo_l(_NL_WDAY_7, __cloc); 323169691Skan _M_data->_M_day7 = __u.__w; 32497403Sobrien 32597403Sobrien // Abbreviated day names, starting with "C"'s Sun. 326169691Skan __u.__s = __nl_langinfo_l(_NL_WABDAY_1, __cloc); 327169691Skan _M_data->_M_aday1 = __u.__w; 328169691Skan __u.__s = __nl_langinfo_l(_NL_WABDAY_2, __cloc); 329169691Skan _M_data->_M_aday2 = __u.__w; 330169691Skan __u.__s = __nl_langinfo_l(_NL_WABDAY_3, __cloc); 331169691Skan _M_data->_M_aday3 = __u.__w; 332169691Skan __u.__s = __nl_langinfo_l(_NL_WABDAY_4, __cloc); 333169691Skan _M_data->_M_aday4 = __u.__w; 334169691Skan __u.__s = __nl_langinfo_l(_NL_WABDAY_5, __cloc); 335169691Skan _M_data->_M_aday5 = __u.__w; 336169691Skan __u.__s = __nl_langinfo_l(_NL_WABDAY_6, __cloc); 337169691Skan _M_data->_M_aday6 = __u.__w; 338169691Skan __u.__s = __nl_langinfo_l(_NL_WABDAY_7, __cloc); 339169691Skan _M_data->_M_aday7 = __u.__w; 34097403Sobrien 34197403Sobrien // Month names, starting with "C"'s January. 342169691Skan __u.__s = __nl_langinfo_l(_NL_WMON_1, __cloc); 343169691Skan _M_data->_M_month01 = __u.__w; 344169691Skan __u.__s = __nl_langinfo_l(_NL_WMON_2, __cloc); 345169691Skan _M_data->_M_month02 = __u.__w; 346169691Skan __u.__s = __nl_langinfo_l(_NL_WMON_3, __cloc); 347169691Skan _M_data->_M_month03 = __u.__w; 348169691Skan __u.__s = __nl_langinfo_l(_NL_WMON_4, __cloc); 349169691Skan _M_data->_M_month04 = __u.__w; 350169691Skan __u.__s = __nl_langinfo_l(_NL_WMON_5, __cloc); 351169691Skan _M_data->_M_month05 = __u.__w; 352169691Skan __u.__s = __nl_langinfo_l(_NL_WMON_6, __cloc); 353169691Skan _M_data->_M_month06 = __u.__w; 354169691Skan __u.__s = __nl_langinfo_l(_NL_WMON_7, __cloc); 355169691Skan _M_data->_M_month07 = __u.__w; 356169691Skan __u.__s = __nl_langinfo_l(_NL_WMON_8, __cloc); 357169691Skan _M_data->_M_month08 = __u.__w; 358169691Skan __u.__s = __nl_langinfo_l(_NL_WMON_9, __cloc); 359169691Skan _M_data->_M_month09 = __u.__w; 360169691Skan __u.__s = __nl_langinfo_l(_NL_WMON_10, __cloc); 361169691Skan _M_data->_M_month10 = __u.__w; 362169691Skan __u.__s = __nl_langinfo_l(_NL_WMON_11, __cloc); 363169691Skan _M_data->_M_month11 = __u.__w; 364169691Skan __u.__s = __nl_langinfo_l(_NL_WMON_12, __cloc); 365169691Skan _M_data->_M_month12 = __u.__w; 36697403Sobrien 36797403Sobrien // Abbreviated month names, starting with "C"'s Jan. 368169691Skan __u.__s = __nl_langinfo_l(_NL_WABMON_1, __cloc); 369169691Skan _M_data->_M_amonth01 = __u.__w; 370169691Skan __u.__s = __nl_langinfo_l(_NL_WABMON_2, __cloc); 371169691Skan _M_data->_M_amonth02 = __u.__w; 372169691Skan __u.__s = __nl_langinfo_l(_NL_WABMON_3, __cloc); 373169691Skan _M_data->_M_amonth03 = __u.__w; 374169691Skan __u.__s = __nl_langinfo_l(_NL_WABMON_4, __cloc); 375169691Skan _M_data->_M_amonth04 = __u.__w; 376169691Skan __u.__s = __nl_langinfo_l(_NL_WABMON_5, __cloc); 377169691Skan _M_data->_M_amonth05 = __u.__w; 378169691Skan __u.__s = __nl_langinfo_l(_NL_WABMON_6, __cloc); 379169691Skan _M_data->_M_amonth06 = __u.__w; 380169691Skan __u.__s = __nl_langinfo_l(_NL_WABMON_7, __cloc); 381169691Skan _M_data->_M_amonth07 = __u.__w; 382169691Skan __u.__s = __nl_langinfo_l(_NL_WABMON_8, __cloc); 383169691Skan _M_data->_M_amonth08 = __u.__w; 384169691Skan __u.__s = __nl_langinfo_l(_NL_WABMON_9, __cloc); 385169691Skan _M_data->_M_amonth09 = __u.__w; 386169691Skan __u.__s = __nl_langinfo_l(_NL_WABMON_10, __cloc); 387169691Skan _M_data->_M_amonth10 = __u.__w; 388169691Skan __u.__s = __nl_langinfo_l(_NL_WABMON_11, __cloc); 389169691Skan _M_data->_M_amonth11 = __u.__w; 390169691Skan __u.__s = __nl_langinfo_l(_NL_WABMON_12, __cloc); 391169691Skan _M_data->_M_amonth12 = __u.__w; 39297403Sobrien } 39397403Sobrien } 39497403Sobrien#endif 395169691Skan 396169691Skan_GLIBCXX_END_NAMESPACE 397