Fixes for QNX 6.6 Neitrino support.

This commit is contained in:
Alexander Smorkalov
2014-10-23 13:01:42 +04:00
parent a77a2f357c
commit 6bb6039ebb
10 changed files with 190 additions and 19 deletions

View File

@@ -3750,8 +3750,15 @@ template<typename _Tp> inline ptrdiff_t operator - (const SeqIterator<_Tp>& a,
const SeqIterator<_Tp>& b)
{
ptrdiff_t delta = a.index - b.index, n = a.seq->total;
#if defined(__QNX__)
// No long std::abs(long) in QNX
long absdelta = (delta < 0) ? -delta : delta;
if( absdelta > n )
#else
if( std::abs(static_cast<long>(delta)) > n )
#endif
delta += delta < 0 ? n : -n;
return delta;
}