]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/layout/LEInsertionList.cpp
ICU-461.12.tar.gz
[apple/icu.git] / icuSources / layout / LEInsertionList.cpp
index b92cc474936b570164ca7a4cfc60e6a7331531a5..c64b8a198dc67ecae92bad2e2b4c12f58d23cf0c 100644 (file)
@@ -1,6 +1,6 @@
 /*
  **********************************************************************
- *   Copyright (C) 1998-2004, International Business Machines
+ *   Copyright (C) 1998-2008, International Business Machines
  *   Corporation and others.  All Rights Reserved.
  **********************************************************************
  */
@@ -51,9 +51,17 @@ le_int32 LEInsertionList::getGrowAmount()
     return growAmount;
 }
 
-LEGlyphID *LEInsertionList::insert(le_int32 position, le_int32 count)
+LEGlyphID *LEInsertionList::insert(le_int32 position, le_int32 count, LEErrorCode &success)
 {
+    if (LE_FAILURE(success)) {
+        return 0;
+    }
+
     InsertionRecord *insertion = (InsertionRecord *) LE_NEW_ARRAY(char, sizeof(InsertionRecord) + (count - ANY_NUMBER) * sizeof (LEGlyphID));
+    if (insertion == NULL) { 
+        success = LE_MEMORY_ALLOCATION_ERROR;
+        return 0;
+    }
 
     insertion->position = position;
     insertion->count = count;