History log of /ndk/sources/cxx-stl/stlport/stlport/stl/_fstream.c
Revision Date Author Comments
2590f1e2174e97558461669792b565903a8398ca 14-Dec-2011 David 'Digit' Turner <digit@google.com> stlport: Fix minor bugs

This patch contains fixes for minor bugs that were already
submitted to the Android platform tree (under external/stlport)
but didn't make it to the NDK version yet.

- stlport/stl/_locale.h: Fix an instantiation of an incomplete type.

This fixes an implicit instantiation of undefined template
basic_string<...> in locale::combine. This results in a compilation
error from clang.

Upstream bug:
https://sourceforge.net/tracker/?func=detail&aid=3400141&group_id=146814&atid=766244

- stlport/stl/_fstream.c: Fix a == versus = typo. The bug failed to update
the __ok variable in the case where this->_M_unshift() failed.

- stlport/stl/_string.c: Use memmove instead of memcpy in string::assign.

It is possible to assign a string part of its own buffer:
std::string s; s.assign(s.data(), s.size());
This can not be done with memcpy.

Upstream bug:
https://sourceforge.net/tracker/?func=detail&aid=3323109&group_id=146814&atid=766244

- src/num_put_float.cpp: Use __ANDROID__ to prepare for upcoming arm_linux_androideabi toolchain.

This patch does not affect current arm-eabi toolchain behavior at all.
It only makes arm_linux_androideabi toolchain to do the same as arm-eabi does.

The current arm_eabi toolchain does not define __unix nor __unix__, so
some statements wrapped by "#if defined (__unix) || defined (__unix__)"
"#endif" won't be included. However, the new arm_linux_androideabi
targets a linux Android platform, where __unix and __unix__ are
defined, which results in the incorrectly inclusion of calls of
IsNANorINF, IsINF, IsNegNAN, ecvt_r, fcvt_r, etc. We need to add
__ANDROID__ to prevent these calls from being included.

As a background, arm_linux_androideabi will be supported by upstream gcc
trunk soon. __ANDROID__ is defined by arm_linux_androideabi toolchain.

- src/local_impl.cpp: Re-enable iostream static constructor.

Turns out that we can't really remove this one in the general case
without breaking some features (e.g. iostream::in_avail())

Change-Id: I75b44ebb66c76e61457497f912a0135240f97ec6
2ca50e007226d9d571c94aec476ef5fdf8c4d3fd 02-Dec-2010 David 'Digit' Turner <digit@google.com> Move stlport under sources/cxx-stl/

Move the STLport directory from sources/android/stlport/ to
sources/cxx-stl/stlport/ since we don't document it as an import
module anymore (use APP_STL in your Application.mk to use it instead).

+ Update the documentation under docs/CPLUSPLUS-SUPPORT.html
and sources/cxx-stl/stlport/README

+ Remove obsolete docs/STL-SUPPORT.html (replaced by CPLUSPLUS-SUPPORT.html)

Change-Id: Ie49e2fbeaceb02b0b765336d4a641e8149446711