equal
deleted
inserted
replaced
40 const LEReferenceTo<LookupTable> LookupListTable::getLookupTable(const LEReferenceTo<LookupListTable> &base, le_uint16 lookupTableIndex, LEErrorCode &success) const |
40 const LEReferenceTo<LookupTable> LookupListTable::getLookupTable(const LEReferenceTo<LookupListTable> &base, le_uint16 lookupTableIndex, LEErrorCode &success) const |
41 { |
41 { |
42 LEReferenceToArrayOf<Offset> lookupTableOffsetArrayRef(base, success, (const Offset*)&lookupTableOffsetArray, SWAPW(lookupCount)); |
42 LEReferenceToArrayOf<Offset> lookupTableOffsetArrayRef(base, success, (const Offset*)&lookupTableOffsetArray, SWAPW(lookupCount)); |
43 |
43 |
44 if(LE_FAILURE(success) || lookupTableIndex>lookupTableOffsetArrayRef.getCount()) { |
44 if(LE_FAILURE(success) || lookupTableIndex>lookupTableOffsetArrayRef.getCount()) { |
|
45 success = LE_INDEX_OUT_OF_BOUNDS_ERROR; |
45 return LEReferenceTo<LookupTable>(); |
46 return LEReferenceTo<LookupTable>(); |
46 } else { |
47 } else { |
47 return LEReferenceTo<LookupTable>(base, success, SWAPW(lookupTableOffsetArrayRef.getObject(lookupTableIndex, success))); |
48 return LEReferenceTo<LookupTable>(base, success, SWAPW(lookupTableOffsetArrayRef.getObject(lookupTableIndex, success))); |
48 } |
49 } |
49 } |
50 } |
51 const LEReferenceTo<LookupSubtable> LookupTable::getLookupSubtable(const LEReferenceTo<LookupTable> &base, le_uint16 subtableIndex, LEErrorCode &success) const |
52 const LEReferenceTo<LookupSubtable> LookupTable::getLookupSubtable(const LEReferenceTo<LookupTable> &base, le_uint16 subtableIndex, LEErrorCode &success) const |
52 { |
53 { |
53 LEReferenceToArrayOf<Offset> subTableOffsetArrayRef(base, success, (const Offset*)&subTableOffsetArray, SWAPW(subTableCount)); |
54 LEReferenceToArrayOf<Offset> subTableOffsetArrayRef(base, success, (const Offset*)&subTableOffsetArray, SWAPW(subTableCount)); |
54 |
55 |
55 if(LE_FAILURE(success) || subtableIndex>subTableOffsetArrayRef.getCount()) { |
56 if(LE_FAILURE(success) || subtableIndex>subTableOffsetArrayRef.getCount()) { |
|
57 success = LE_INDEX_OUT_OF_BOUNDS_ERROR; |
56 return LEReferenceTo<LookupSubtable>(); |
58 return LEReferenceTo<LookupSubtable>(); |
57 } else { |
59 } else { |
58 return LEReferenceTo<LookupSubtable>(base, success, SWAPW(subTableOffsetArrayRef.getObject(subtableIndex, success))); |
60 return LEReferenceTo<LookupSubtable>(base, success, SWAPW(subTableOffsetArrayRef.getObject(subtableIndex, success))); |
59 } |
61 } |
60 } |
62 } |