X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/374ca955a76ecab1204ca8bfa63ff9238d998416..e4f10fab0c078f399c9deef476d9c9b73b47dff8:/icuSources/layout/MultipleSubstSubtables.cpp diff --git a/icuSources/layout/MultipleSubstSubtables.cpp b/icuSources/layout/MultipleSubstSubtables.cpp index 450bf35b..f017722f 100644 --- a/icuSources/layout/MultipleSubstSubtables.cpp +++ b/icuSources/layout/MultipleSubstSubtables.cpp @@ -1,6 +1,6 @@ /* * - * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved + * (C) Copyright IBM Corp. 1998-2008 - All Rights Reserved * */ @@ -14,8 +14,12 @@ U_NAMESPACE_BEGIN -le_uint32 MultipleSubstitutionSubtable::process(GlyphIterator *glyphIterator, const LEGlyphFilter *filter) const +le_uint32 MultipleSubstitutionSubtable::process(GlyphIterator *glyphIterator, LEErrorCode& success, const LEGlyphFilter *filter) const { + if (LE_FAILURE(success)) { + return 0; + } + LEGlyphID glyph = glyphIterator->getCurrGlyphID(); // If there's a filter, we only want to do the @@ -62,7 +66,11 @@ le_uint32 MultipleSubstitutionSubtable::process(GlyphIterator *glyphIterator, co } } - LEGlyphID *newGlyphs = glyphIterator->insertGlyphs(glyphCount); + LEGlyphID *newGlyphs = glyphIterator->insertGlyphs(glyphCount, success); + if (LE_FAILURE(success)) { + return 0; + } + le_int32 insert = 0, direction = 1; if (glyphIterator->isRightToLeft()) {