- // FIXME: we could avoid the memory allocation and copying here by
- // making a clone of the adjustMarkGlyphs method which took characters
- // directly...
- LEGlyphID *tempGlyphs = LE_NEW_ARRAY(LEGlyphID, count);
-
- if (tempGlyphs == NULL) {
- success = LE_MEMORY_ALLOCATION_ERROR;
- return;
- }
-
- for (le_int32 i = 0; i < count; i += 1) {
- tempGlyphs[i] = (LEGlyphID) chars[offset + i];
- }
-
- adjustMarkGlyphs(tempGlyphs, count, reverse, &filter, positions, success);
-
- LE_DELETE_ARRAY(tempGlyphs);
+ adjustMarkGlyphs(&chars[offset], count, reverse, glyphStorage, &filter, success);