aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2014-04-11 17:32:35 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-04-11 17:32:35 +0000
commit7fbf9456bff1948caf13e0663a8f71caf3c79c6c (patch)
tree5774f133eb0d1029252e7b256368daf72f7898e7
parent6d1ec38a9af32db354e2873b6f19f09e46948f31 (diff)
parentb29ee7e91a40018460d9a7dd32d220a5ea18c861 (diff)
downloadstlport-7fbf9456bff1948caf13e0663a8f71caf3c79c6c.tar.gz
am b29ee7e9: am 6003041a: Merge "Fix __get_number for short."
* commit 'b29ee7e91a40018460d9a7dd32d220a5ea18c861': Fix __get_number for short.
-rw-r--r--stlport/stl/_istream.c14
-rw-r--r--stlport/stl/config/_android.h3
2 files changed, 17 insertions, 0 deletions
diff --git a/stlport/stl/_istream.c b/stlport/stl/_istream.c
index ab327b2..7fc2f04 100644
--- a/stlport/stl/_istream.c
+++ b/stlport/stl/_istream.c
@@ -207,6 +207,8 @@ _STLP_MOVE_TO_STD_NAMESPACE
template <class _CharT, class _Traits>
basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::operator>> (short& __val) {
+#if 0 // This breaks __get_integer for short.
+// BEGIN Android-removed.
long __lval;
_STLP_PRIV __get_num(*this, __lval);
if ( this->fail() ) {
@@ -221,10 +223,17 @@ basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::operator>> (shor
else
__val = __tmp;
return *this;
+// END Android-removed.
+#else
+ _STLP_PRIV __get_num(*this, __val);
+ return *this;
+#endif
}
template <class _CharT, class _Traits>
basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::operator>> (int& __val) {
+#if 0 // This seems to work, but there doesn't seem to be any reason for it.
+// BEGIN Android-removed.
long __lval;
_STLP_PRIV __get_num(*this, __lval);
if ( this->fail() ) {
@@ -239,6 +248,11 @@ basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::operator>> (int&
else
__val = __tmp;
return *this;
+// END Android-removed.
+#else
+ _STLP_PRIV __get_num(*this, __val);
+ return *this;
+#endif
}
template <class _CharT, class _Traits>
diff --git a/stlport/stl/config/_android.h b/stlport/stl/config/_android.h
index 59ed525..8969d4a 100644
--- a/stlport/stl/config/_android.h
+++ b/stlport/stl/config/_android.h
@@ -81,4 +81,7 @@
#define _STLP_NO_CONTAINERS_EXTENSION 1
#endif
+// Without this, we don't get int16_t/uint16_t num_get::get overloads.
+#define _STLP_FIX_LIBRARY_ISSUES 1
+
#endif /* __stl_config__android_h */