]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/common/ucmndata.c
ICU-8.11.1.tar.gz
[apple/icu.git] / icuSources / common / ucmndata.c
index 03043b990a4e8c4b7c886965a0030e6885e2901b..1b12ffbdc94bbe50bde725092c0bc447e7c3222e 100644 (file)
@@ -103,7 +103,7 @@ offsetTOCLookupFn(const UDataMemory *pData,
                   UErrorCode *pErrorCode) {
     const UDataOffsetTOC  *toc = (UDataOffsetTOC *)pData->toc;
     if(toc!=NULL) {
-        const char *base=(const char *)pData->toc;
+        const char *base=(const char *)toc;
         uint32_t start, limit, number, lastNumber;
         int32_t strResult;
         const UDataOffsetTOCEntry *entry;
@@ -120,13 +120,11 @@ offsetTOCLookupFn(const UDataMemory *pData,
         limit=toc->count;         /* number of names in this table of contents */
         lastNumber=limit;
         entry=toc->entry;
-        if (limit == 0) {         /* Stub common data library used during build is empty. */
-            return NULL;
-        }
         for (;;) {
             number = (start+limit)/2;
             if (lastNumber == number) { /* Have we moved? */
-                break;  /* We haven't moved, and it wasn't found. */
+                break;  /* We haven't moved, and it wasn't found; */
+                        /* or the empty stub common data library was used during build. */
             }
             lastNumber = number;
             strResult = uprv_strcmp(tocEntryName, base+entry[number].nameOffset);
@@ -165,11 +163,7 @@ offsetTOCLookupFn(const UDataMemory *pData,
 
 static uint32_t pointerTOCEntryCount(const UDataMemory *pData) {
     const PointerTOC *toc = (PointerTOC *)pData->toc;
-    if (toc != NULL) {
-        return toc->count;
-    } else {
-        return 0;
-    }
+    return (uint32_t)((toc != NULL) ? (toc->count) : 0);
 }
 
 
@@ -194,14 +188,11 @@ static const DataHeader *pointerTOCLookupFn(const UDataMemory *pData,
         limit=toc->count;
         lastNumber=limit;
 
-        if (limit == 0) {       /* Stub common data library used during build is empty. */
-            return NULL;
-        }
-
         for (;;) {
             number = (start+limit)/2;
             if (lastNumber == number) { /* Have we moved? */
-                break;  /* We haven't moved, and it wasn't found. */
+                break;  /* We haven't moved, and it wasn't found, */
+                        /* or the empty stub common data library was used during build. */
             }
             lastNumber = number;
             strResult = uprv_strcmp(name, toc->entry[number].entryName);