aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2002-09-07 21:06:57 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2002-09-07 21:06:57 +0200
commit7d9857fde09bbc83138f15b2dc4488289213d002 (patch)
tree0731b7d8c3a10350c7f339f76aef01ded4064321
parent3a357ad1271c60d382456a63ad665828453fd5b0 (diff)
downloadgcc-7d9857fde09bbc83138f15b2dc4488289213d002.zip
gcc-7d9857fde09bbc83138f15b2dc4488289213d002.tar.gz
gcc-7d9857fde09bbc83138f15b2dc4488289213d002.tar.bz2
messages_members.cc: Add specialization for messages<wchar_t>.
* config/locale/generic/messages_members.cc: Add specialization for messages<wchar_t>. * config/locale/ieee_1003.1-20021/messages_members.cc: Likewise. From-SVN: r56920
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/config/locale/generic/messages_members.cc7
-rw-r--r--libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc12
3 files changed, 25 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index ba71fdd..c6ee014 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2002-09-07 Jakub Jelinek <jakub@redhat.com>
+
+ * config/locale/generic/messages_members.cc: Add specialization for
+ messages<wchar_t>.
+ * config/locale/ieee_1003.1-20021/messages_members.cc: Likewise.
+
2002-09-06 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/localefwd.h: Tweak formatting.
diff --git a/libstdc++-v3/config/locale/generic/messages_members.cc b/libstdc++-v3/config/locale/generic/messages_members.cc
index 480ab88..f38f82b 100644
--- a/libstdc++-v3/config/locale/generic/messages_members.cc
+++ b/libstdc++-v3/config/locale/generic/messages_members.cc
@@ -42,4 +42,11 @@ namespace std
string
messages<char>::do_get(catalog, int, int, const string& __dfault) const
{ return __dfault; }
+
+#ifdef _GLIBCPP_USE_WCHAR_T
+ template<>
+ wstring
+ messages<wchar_t>::do_get(catalog, int, int, const wstring& __dfault) const
+ { return __dfault; }
+#endif
}
diff --git a/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc b/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc
index 0f667d6..aaf07a2 100644
--- a/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc
+++ b/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc
@@ -46,4 +46,16 @@ namespace std
nl_catd __nlc = reinterpret_cast<nl_catd>(__c);
return string(catgets(__nlc, __setid, __msgid, __dfault.c_str()));
}
+
+#ifdef _GLIBCPP_USE_WCHAR_T
+ template<>
+ wstring
+ messages<wchar_t>::do_get(catalog, int, int, const wstring& __dfault) const
+ {
+ nl_catd __nlc = reinterpret_cast<nl_catd>(__c);
+ char* __msg = catgets(__nlc, __setid, __msgid,
+ _M_convert_to_char(__dfault));
+ return _M_convert_from_char(__msg);
+ }
+#endif
}