aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2014-04-11 17:20:27 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-04-11 17:20:28 +0000
commit6003041ad7f1abbdf83b10ef22f863a03752c61c (patch)
tree5774f133eb0d1029252e7b256368daf72f7898e7
parent3b79d03bdc1eb40956f4f51161a6c63cee997724 (diff)
parentee3d0ea50df7a77e11a83ad627d492b105e39207 (diff)
downloadstlport-6003041ad7f1abbdf83b10ef22f863a03752c61c.tar.gz
Merge "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 */