aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2014-04-11 17:26:23 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-04-11 17:26:23 +0000
commitb29ee7e91a40018460d9a7dd32d220a5ea18c861 (patch)
tree5774f133eb0d1029252e7b256368daf72f7898e7
parente8a2ca2708fd28dd847f01a2352c76220bf09da8 (diff)
parent6003041ad7f1abbdf83b10ef22f863a03752c61c (diff)
downloadstlport-b29ee7e91a40018460d9a7dd32d220a5ea18c861.tar.gz
am 6003041a: Merge "Fix __get_number for short."
* commit '6003041ad7f1abbdf83b10ef22f863a03752c61c': 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 */