fix for commercial bustage on Mac (adding |operator const CharT*() const| to |basic_nsLiteralString|). fix for blizzards linux changes needing working |Substring|. r=beard,syd
git-svn-id: svn://10.0.0.236/trunk@72736 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
1ffa061258
commit
a6b40ede8b
@ -692,6 +692,11 @@ class basic_nsLiteralString
|
||||
|
||||
virtual PRUint32 Length() const;
|
||||
|
||||
operator const CharT*() const
|
||||
{
|
||||
return mStart;
|
||||
}
|
||||
|
||||
private:
|
||||
const CharT* mStart;
|
||||
const CharT* mEnd;
|
||||
@ -1073,12 +1078,25 @@ nsPromiseSubstring<CharT>::GetReadableFragment( nsReadableFragment<CharT>& aFrag
|
||||
else if ( aRequest == kFragmentAt )
|
||||
aPosition += mStartPos;
|
||||
|
||||
// requests for |kNextFragment| or |kPrevFragment| are just relayed down into the string we're slicing
|
||||
|
||||
const CharT* position_ptr = mString.GetReadableFragment(aFragment, aRequest, aPosition);
|
||||
|
||||
// if there's more physical data in the returned fragment than I logically have left...
|
||||
size_t logical_size_forward = mLength - aPosition;
|
||||
if ( aFragment.mEnd - position_ptr > logical_size_forward )
|
||||
aFragment.mEnd = position_ptr + logical_size_forward;
|
||||
// If |GetReadableFragment| returns |0|, then we are off the string, the contents of the
|
||||
// fragment are garbage.
|
||||
|
||||
// Therefore, only need to fix up the fragment boundaries when |position_ptr| is not null
|
||||
if ( position_ptr )
|
||||
{
|
||||
// if there's more physical data in the returned fragment than I logically have left...
|
||||
size_t logical_size_backward = aPosition - mStartPos;
|
||||
if ( position_ptr - aFragment.mStart > logical_size_backward )
|
||||
aFragment.mStart = position_ptr - logical_size_backward;
|
||||
|
||||
size_t logical_size_forward = mLength - logical_size_backward;
|
||||
if ( aFragment.mEnd - position_ptr > logical_size_forward )
|
||||
aFragment.mEnd = position_ptr + logical_size_forward;
|
||||
}
|
||||
|
||||
return position_ptr;
|
||||
}
|
||||
|
||||
@ -692,6 +692,11 @@ class basic_nsLiteralString
|
||||
|
||||
virtual PRUint32 Length() const;
|
||||
|
||||
operator const CharT*() const
|
||||
{
|
||||
return mStart;
|
||||
}
|
||||
|
||||
private:
|
||||
const CharT* mStart;
|
||||
const CharT* mEnd;
|
||||
@ -1073,12 +1078,25 @@ nsPromiseSubstring<CharT>::GetReadableFragment( nsReadableFragment<CharT>& aFrag
|
||||
else if ( aRequest == kFragmentAt )
|
||||
aPosition += mStartPos;
|
||||
|
||||
// requests for |kNextFragment| or |kPrevFragment| are just relayed down into the string we're slicing
|
||||
|
||||
const CharT* position_ptr = mString.GetReadableFragment(aFragment, aRequest, aPosition);
|
||||
|
||||
// if there's more physical data in the returned fragment than I logically have left...
|
||||
size_t logical_size_forward = mLength - aPosition;
|
||||
if ( aFragment.mEnd - position_ptr > logical_size_forward )
|
||||
aFragment.mEnd = position_ptr + logical_size_forward;
|
||||
// If |GetReadableFragment| returns |0|, then we are off the string, the contents of the
|
||||
// fragment are garbage.
|
||||
|
||||
// Therefore, only need to fix up the fragment boundaries when |position_ptr| is not null
|
||||
if ( position_ptr )
|
||||
{
|
||||
// if there's more physical data in the returned fragment than I logically have left...
|
||||
size_t logical_size_backward = aPosition - mStartPos;
|
||||
if ( position_ptr - aFragment.mStart > logical_size_backward )
|
||||
aFragment.mStart = position_ptr - logical_size_backward;
|
||||
|
||||
size_t logical_size_forward = mLength - logical_size_backward;
|
||||
if ( aFragment.mEnd - position_ptr > logical_size_forward )
|
||||
aFragment.mEnd = position_ptr + logical_size_forward;
|
||||
}
|
||||
|
||||
return position_ptr;
|
||||
}
|
||||
|
||||
@ -692,6 +692,11 @@ class basic_nsLiteralString
|
||||
|
||||
virtual PRUint32 Length() const;
|
||||
|
||||
operator const CharT*() const
|
||||
{
|
||||
return mStart;
|
||||
}
|
||||
|
||||
private:
|
||||
const CharT* mStart;
|
||||
const CharT* mEnd;
|
||||
@ -1073,12 +1078,25 @@ nsPromiseSubstring<CharT>::GetReadableFragment( nsReadableFragment<CharT>& aFrag
|
||||
else if ( aRequest == kFragmentAt )
|
||||
aPosition += mStartPos;
|
||||
|
||||
// requests for |kNextFragment| or |kPrevFragment| are just relayed down into the string we're slicing
|
||||
|
||||
const CharT* position_ptr = mString.GetReadableFragment(aFragment, aRequest, aPosition);
|
||||
|
||||
// if there's more physical data in the returned fragment than I logically have left...
|
||||
size_t logical_size_forward = mLength - aPosition;
|
||||
if ( aFragment.mEnd - position_ptr > logical_size_forward )
|
||||
aFragment.mEnd = position_ptr + logical_size_forward;
|
||||
// If |GetReadableFragment| returns |0|, then we are off the string, the contents of the
|
||||
// fragment are garbage.
|
||||
|
||||
// Therefore, only need to fix up the fragment boundaries when |position_ptr| is not null
|
||||
if ( position_ptr )
|
||||
{
|
||||
// if there's more physical data in the returned fragment than I logically have left...
|
||||
size_t logical_size_backward = aPosition - mStartPos;
|
||||
if ( position_ptr - aFragment.mStart > logical_size_backward )
|
||||
aFragment.mStart = position_ptr - logical_size_backward;
|
||||
|
||||
size_t logical_size_forward = mLength - logical_size_backward;
|
||||
if ( aFragment.mEnd - position_ptr > logical_size_forward )
|
||||
aFragment.mEnd = position_ptr + logical_size_forward;
|
||||
}
|
||||
|
||||
return position_ptr;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user