Bug 284219: add EnsureStringLength() helper function to nsReadableUtils.h to

simplify OOM checks when growing an nsAString. r/sr=darin, a=mconnor (1.8), a=jay (1.8.0)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_8_BRANCH@200612 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
dveditz%cruzio.com
2006-06-22 19:13:02 +00:00
parent c480d94a6c
commit 4f8722b7ce
23 changed files with 115 additions and 32 deletions

View File

@@ -489,7 +489,10 @@ CopyUnicodeTo( const nsScannerIterator& aSrcStart,
nsAString& aDest )
{
nsAString::iterator writer;
aDest.SetLength(Distance(aSrcStart, aSrcEnd));
if (!EnsureStringLength(aDest, Distance(aSrcStart, aSrcEnd))) {
aDest.Truncate();
return; // out of memory
}
aDest.BeginWriting(writer);
nsScannerIterator fromBegin(aSrcStart);
@@ -519,7 +522,8 @@ AppendUnicodeTo( const nsScannerIterator& aSrcStart,
{
nsAString::iterator writer;
PRUint32 oldLength = aDest.Length();
aDest.SetLength(oldLength + Distance(aSrcStart, aSrcEnd));
if (!EnsureStringLength(aDest, oldLength + Distance(aSrcStart, aSrcEnd)))
return; // out of memory
aDest.BeginWriting(writer).advance(oldLength);
nsScannerIterator fromBegin(aSrcStart);