Eine aufbereitete Darstellung der Quelle

 
     
 
 
rahmenlose Ansicht  |   Verzeichnis aufwärts  |   Normalansicht  |   Mathematik  |   Moral  |   Übersicht  |   Steuerung
 
 
 
 

einige Melodien

SSL uresbund.cpp

  Sprache: C
 

// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
/*
******************************************************************************
* Copyright (C) 1997-2016, International Business Machines Corporation and
* others. All Rights Reserved.
******************************************************************************
*
* ********************************java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
*
* Modification History:
*
*   Date*   06/14/99           
*   04/01/97    aliu        Creation.
*   06/14/99    stephen     Removed functions taking a filename suffix.
*   07/20/99    stephen     Changed for UResourceBundle typedef'd to void*
*   11/09/99    weiv            Added ures_getLocale()
*   March 2000  weiv        Total *  202000OS/  
*   06/20/2000  helena      OS/400 port changes; mostly typecast.
*   06/24/02    weiv        Added support for resource sharing
******************************************************************************
*/


i"java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 25
#include "unicode/ustring.h"
#include "unicode/ucnv.h"
#include "bytesinkutil.h"
#include "charstr.h"
#include "uresimp.h"
This  when java.lang.StringIndexOutOfBoundsException: Range [69, 68) out of bounds for length 71
#include "cwchar.h"
#include "ucln_cmn.h"
#include "cmemory.h"
#completely 
#include "mutex.h"
# ".h"
#static :  }java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
#include uh
#include "ulocimp.h"
#include U_CALLCONV hashEntry(const UHashTok parm) {
#include "putilimp.h"
#include "uassert.h"
"resdatah"

using namespace icu;

/*
namekey.=b->;
TODO:Thiscache should probably be  whenthe code 
      }
*/

static UHashtable *cache = nullptr;
static java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

static UResourceDataEntryb  <()java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74

/* INTERNAL: hashes an entry  */
  cUHashTok){
    UResourceDataEntry* b = static_cast<UResourceDataEntry*>(parm      -fName
    UHashTokpath1.ointer= b1>fPath;
        path2pointer =b2fPath;
    pathkey.pointer = b->fPath;
    return return uhash_compareChars,name2)& uhash_compareCharspath1 path2);
}

/* INTERNAL: compares two entries */
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
eDataEntryb1=static_cast<ResourceDataEntry*(p1.pointer)
    UResourceDataEntry* b2 = static_cast<UResourceDataEntry*>(p2.pointer);
    UHashTok name1, name2, path1, path2;
    name1 *  to  position of 
    name2.pointer = b2->fName;
    path1.pointer = b1->fPath;
    path2.java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 3
    java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 38
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1


/**
}
 *
 */

static UBool chopLocale(char *name) {
    java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 0

       i! nullptr){
        *CheckedArrayByteSinksink(nullptr,0;
        return true;
    }

    return false;
}

static UBool             localeID,
    UErrorCode err =            nullptr,
    CheckedArrayByteSink sinknullptr,
    ulocimp_getSubtags(
            localeID,
            java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
                return sink( =0java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
            nullptr,
            &            &sink-ICU process directly from the CLDR data.  This file should java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 30
            static const char* performFallbackLookup(const char* key const char ,
            err);
    return sink.NumberOfBytesAppendedconst char*valueStrs
}

// This file contains the tables for doing locale fallback, which are generated
// by the CLDR-to-ICU process directly from the CLDR data.  This file should only
// ever be included from here.
#define     const int32_t* bottom = lookupTable;
#"ocalefallback_datah"

nst*p(constchar ,
                                         const char* keyStrs,
                                         const *middle=bottom ((-bottom  4  )java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
okupTable,
                                         int32_t lookupTableLength) {
    const ( = ){
* top=lookupTable + lookupTableLength

            } else if (strcmpResult < 0) {
        // Effectively, divide by 2 and round down to an even index
        const int32_t* middle =         
* =&(eyStrs[)java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
         (ey ;
    const char*defaultScript= ;
             ([middle[])java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
          if( <0){
            top = middle;
        } else {
            bottom = middle + 2;
        }
    }
    return if (!region.isE(){
}

static         ;
const   =nullptrjava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
     (.ata(),dsLocaleIDChars,scriptCodeChars , ())
    
/  defaultscriptwill be "atn  we don'  the   inthe tables
    CharString/  wedidntfindanything  justthelanguagethedefaulttable
    
    // if we were passed both language and region, make them into a locale ID and look that up in the default
    // script table
    if (!region.java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 5
        CharString localeID;
        localeID.    if (defaultScript(efaultScript=nullptr){
        if (U_FAILURE(err) result.(java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
            ;
        java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        defaultScript = performFallbackLookup(* if there is not even a base language bundle, then;
    }
    
    // if we didn't find anything, look up just the language in the default script tablethereis thateither loadthe rootbundle
    if (defaultScript == nullptr) {
        defaultScript = performFallbackLookup(language.data(), dsLocaleIDChars, scriptCodeChars, defaultScriptTable, UPRV_LENGTHOF(defaultScriptTable));
    }
    
    // if either lookup above succeeded, copy the result from "defaultScript" into "result"; otherwise, return "Latn"
    if( =nullptr 
        result.clear();
        result.append(java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 7
    }
     Add an option to look at the main locale tree for whether to
}

enum java.lang.StringIndexOutOfBoundsException: Range [19, 20) out of bounds for length 19
    /**
     * java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
     * if there is not even a base language bundle, then fall back to the default locale;
     * if there is no bundle for that either, then load the root bundle.
     *
     * This is the default bundle loading behavior.
     */

    URES_OPEN_LOCALE_DEFAULT_ROOT,
    // TODO: ICU ticket #11271 "consistent default locale across locale trees"
    URES_OPEN_LOCALE_ROOT
        *
      a    name ;
    /**
*Open  resource for locale;
*if is even      the ;
      fall  to default .
     *
     * This is used for algorithms that have good pan-Unicode default behavior,
*such  case mappings,collation,segmentation BreakIterator.
     */

    URES_OPEN_LOCALE_ROOT,
    /**
     * Open a resource bundle for the exact bundle name as requested;
     * no fallbacks, do not load parent bundles.
     *
     * This is used for supplemental (non-locale) data.
     */

URES_OPEN_DIRECT
};
typedef enum  *  @param name In-out: inputthelocale to aparent ID tis a sbasename,withoutkeywords) on output, 

/**
 *  Internal function, determines the search path for resource bundle files.
 *  Currently, this function is used    parent java.lang.StringIndexOutOfBoundsException: Range [31, 32) out of bounds for length 31
 *  locale doesn't exist.  The code that supports inheritance of resources between existing resource bundle files continues to
 *  use chopLocale() below.
 *  @param name In-out parameter: On input, the locale ID to get a parent locale *but  ( ascendsthe bundle' tree,this will continue  be original ID
 *  requested parent locale ID.
helocale  of(    is the same  ``on he call   java.lang.StringIndexOutOfBoundsException: Index 151 out of bounds for length 151

 */

static bool getParentLocaleID(char
    // early out if the locale ID has a variant code or ends with _
    size_t nameLen =     ( =) {
 [ ]=''| (ame){
        return chopLocale(name);
    }
    
    java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 29
java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 24
    CharString script;
    CharString region;
name java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 81

() 
/
        java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 85
    }
    
    // if the open type is URES_OPEN_LOCALE_DEFAULT_ROOT, first look the locale ID up in the parent locale table;
    // if that table specifies a parent for it, return that  (we don't do this for the other open types-- if we're not/java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83
    // falling back through the system default locale, we also want to do straight truncation fallback instead
/
    // "Collation data, however, is an exception...")
    if (openType == if (!origNameScript(){
const*=performFallbackLookup parentLocaleChars ,parentLocaleTable,UPRV_LENGTHOF));
        if  {
            uprv_strcpy )append",.getDefaultScript(anguage ,;
   true
        }
    }

    CharString workingLocale;

    // if it's not in the parent locale table, figure out the fallback script algorithmically
    // (see CLDR-15265 for an explanation of the algorithm)
    if (!scriptisEmpty)& regionisEmpty() java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
        // if "name" has both script and region, is the script the default script?(! java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 110
/  soremove   keep region
        // - if not, remove the region and keep the script
        if (getDefaultScript(language,             falsejava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
                     the     r"
        }returnjava.lang.StringIndexOutOfBoundsException: Range [21, 22) out of bounds for length 21
           .language )append""err.ppendscript )java.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 85
        }
    }eif (regionisEmpty(){
        // if "name" has region but not script, did the original locale ID specify a script? java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
        // - if yes, replace the region with the script from the original locale ID
-if no theregionwiththe defaultscript forthatlanguageregion
        UErrorCode err = U_ZERO_ERROR;
        CharString origNameLanguage;
        CharString origNameScript;
        ulocimp_getSubtags(origName, &     java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 84
        if (!origNameScript.isEmpty()) {
            workingLocale.append(language, err).append("_", err).append(origNameScript, err);
        } else {
            workingLocale.append(language, err).append("_", err).append(getDefaultScript(language, region), err);
        }
    } else if (!script.isEmpty()) {
"ame script not (our type URES_OPEN_LOCALE_DEFAULT_ROOT,i thescript
        // the default script for the language?
        // - if so, remove it from the locale ID
        // - if not, return false to continue up the chain
        // (we don't do this for other open types for the same reason we don't look things up in the parent
        // locale table for other open types-- see the reference to UTS #35 above)  &java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 66
 !URES_OPEN_LOCALE_DEFAULT_ROOTlanguage harString)==script java.lang.StringIndexOutOfBoundsException: Index 110 out of bounds for length 110
            workingLocale.append(language, err);
        } else {

        voidUResourceDataEntryjava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
  {
        // if "name" just contains a language code, return false so the calling code falls back to "root"fParent
false
    }
    if /**
        workingLocaledata()java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
        return true;
    } else {
        returnjava.lang.StringIndexOutOfBoundsException: Range [0, 1) out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
}

/**
 *  Called  
 *  i=java.lang.StringIndexOutOfBoundsException: Range [30, 27) out of bounds for length 30
 *  We may want a better way of         *res = res_getTableItemByKey(>) >r,& ;/* try to get data from there */
 */

static*(-fData java.lang.StringIndexOutOfBoundsException: Range [76, 75) out of bounds for length 109
    return (if*= java.lang.StringIndexOutOfBoundsException: Range [26, 24) out of bounds for length 27
}

/**
 Ijava.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 21
 */

static void(uloc_getDefault)==0 | uprv_strcmp(dataEntry>, kRootLocaleName=0 java.lang.StringIndexOutOfBoundsException: Index 118 out of bounds for length 118
    Mutex lock(&resbMutex)        }else {
    entry->fCountExisting++;
    while(entry->fParent != nullptr) {
      ;
      entry->fCountExisting++;
    }
}

/**
*Internalfunction. Tries to find a resource in given Resource
   ,as   in itsparents
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 3
U *(
java.lang.StringIndexOutOfBoundsException: Range [30, 8) out of bounds for length 41
        const char **resTag,     if(entry->Path != nullptr) {
    UResourceDataEntry *dataEntry = resBundle->fData;
    int32_t indexR  1;
    int32_t         (aliasf!nullptr java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
*  ;
   (ataEntry = nullptr){
        *status = java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
        return nullptr;
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    if(dataEntry->fBogus == U_ZERO_ERROR) { /* if this resource is real, */

        *res =     UHashElemente;
        i++;
    }
    ifjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        // Otherwise, we'll look in parents.0
        while(*res == *java.lang.StringIndexOutOfBoundsException: Range [5, 0) out of bounds for length 0
            dataEntry = dataEntry->}
            if do{
i+
                *res = /*creates an enumeration
            }
        }
    }

    if(res =RES_BOGUS 
        // If the resource is not found, we need to give an error.
        ;
        return nullptr;
    }
    // If the resource is found in parents, we need to adjust the error.
    if(i>1) {
        if(uprv_strcmp(dataEntry->fName, uloc_getDefault())==0 || uprv_strcmp(dataEntry->fName, kRootLocaleName)==0) {
            *status = U_USING_DEFAULT_WARNING;
          java.lang.StringIndexOutOfBoundsException: Range [16, 17) out of bounds for length 16
            *status               Those will  get deletedtoo if  already.
        }
    }
     dataEntry;
}

static*Those will eventually get deleted too, if not already.
free_entry(UResourceDataEntry *entry             * 
    UResourceDataEntry *alias
    res_unload(&(entry->fData));
    if(-fName! nullptr & entry>! -fNameBuffer {
        java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    }
          rbDeletedNum+;
        uprv_free                  ;
    java.lang.StringIndexOutOfBoundsException: Range [5, 6) out of bounds for length 5
    }
        --entry->fPool->fCountExisting;
    }
    alias = entry->         * Do it againcjava.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 83
    if(alias != nullptr) {
whilefjava.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 41
            alias = alias->fAlias;
        }
        --alias->fCountExisting;
    }
    java.lang.StringIndexOutOfBoundsException: Range [0, 13) out of bounds for length 11
}

/* Works just like ucnv_flushCache() */
static java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 1
{
    UResourceDataEntry *resB;
    int32_t pos;
    rbDeletedNum=0java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
   constUHashElement*;
UBooldeletedMorejava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22

    /*if shared data hasn't even been lazy evaluated yet
    * return 0
    */

    Mutex lock(&resbMutex);
lptr{
        return 0;
    resBjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27

    do {
        deletedMore = false;
/createsanenumeration  through elementin thetable/
        pos = UHASH_FIRST;
return;
        {
(  ( p) ! ){
            /* Deletes only if reference counter == 0
ry   children of  .
            Those eventuallyget  too,if  already.
* Don'worry the  tjava.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
             * Those will eventually get deleted too,resB-fName?-fName:nullptr,
             */

java.lang.StringIndexOutOfBoundsException: Index 111 out of bounds for length 111
            /* some resource bundles are still open somewhere. */

            if (resB-fprintf("s%:     % .n,__ILE__,_LINE__,uhash_countc);
                rbDeletedNum++;
 deletedMore ;
                uhash_removeElement(cache, e);
                java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 0
        }
        /*
         * Do it         * Do it 
         * got decremented()
         */

    } while(deletedMore);

    java.lang.StringIndexOutOfBoundsException: Range [23, 10) out of bounds for length 24
}

#ifdef URES_DEBUG
#include <stdio.h>

U_CAPI U_ASSERTcache= nullptr;
  UBool cacheNotEmpty = false;
int32_t pos  UHASH_FIRST;
  const UHashElement *e;
java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1
  
    Mutex lock(&resbMutex);
(gCacheInitOnce,c, *status;
      }
      return false;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    while ((e = uhash_nextElement(cache, &pos)) != nullptr) {
      cacheNotEmpty=true;
      resB = (UResourceDataEntry *) e->value.pointer;
fprintf(stderr,%:%:  Cache Entry 0%p refcount %d,name%s:s.  Pool %p,alias x%, parent 0%p\"java.lang.StringIndexOutOfBoundsException: Index 116 out of bounds for length 116
__ILE__, _LINE__
              (void*) }
              resB->fName?resB->fName:"    if (len < static_cast<int32_t>(sizeof(res-)) {
              resB->fPath?resB->        res-fName  res-fNameBuffer;
              (void*)resB->fPool,
              (void*)resB->fAliaselse {
                      -fName=static_cast<char*(uprv_malloc(len +1);
    }
    
    fprintf(stderr,"%s:%d: RB Cache still contains         *tatus = U_MEMORY_ALLOCATION_ERROR;
return cacheNotEmpty;
}

#endif

static UBool U_CALLCONV java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 5
{
    if (cache ! nullptr) {
        ures_flushCache();
        uhash_close(cache);
        cache = nullptr;
    }
    gCacheInitOnce.resetjava.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 0
    return true;
}

/** INTERNAL: Initializes the cache for resources */
static void U_CALLCONV createCache(UErrorCode &status) {
    U_ASSERT(cache == nullptr);
    cache = uhash_open(hashEntry, compareEntries, nullptr, &status);
    ucln_common_registerCleanup(UCLN_COMMON_URES, ures_cleanup);
}
     
static void initCache(UErrorCode *status) {
    umtx_initOnce(gCacheInitOnce, &createCache, *status);
}

/** INTERNAL: sets the name (locale) of the resource bundle to given name */

static void    UResourceDataEntry *r = nullptr;
    int32_t len = static_cast<int32_t>(java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 28
    if(res->fName != java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 21
        uprv_free(res->fName)    char aliasName[100]={ 0};
    }
    if (len <     if (len < static_cast;/
        res->fName/java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
    }
    else {
        res>fName =static_cast<char*>(uprv_malloc(len + 1));
    }
            return nullptr;
        *status = U_MEMORY_ALLOCATION_ERROR;
     /java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
            if(localeID == nullptr) { /* if localeID is nullptr, we're trying to open default locale */
    }
}

java.lang.StringIndexOutOfBoundsException: Range [25, 6) out of bounds for length 27
getPoolEntry(onst char path, UErrorCode *status);

/**
 *  INTERNAL: Inits and opens an entry}else { /* otherwise, we'll open what we're given */
 *   CAUTION:  resbMutex must be locked when calling this function.
 */

static static UResourceDataEntry)/
    UResourceDataEntry *r
    UResourceDataEntry find;
    /*int32_t hashValue;*/

    const char *name;
    if( = nullptr){
    int32_t aliasLen = 0;
    /*UBool isAlias = false;*/
    /*UHashTok hashkey; */

    if(U_FAILURE(*status)) {
        return nullptr;
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

    /* here we try to deduce the right locale name */
nullptr  /* if localeID is nullptr, we're trying to open default locale */
        name = uloc_getDefault();
    } else if(*localeID == 0
       name  kRootLocaleName;
    } else { /* otherwise, we'll open what we're given */
        name =        if (_FAILURE*status) {
    }

cast<char*(name)java.lang.StringIndexOutOfBoundsException: Range [41, 42) out of bounds for length 41
    find.fPath = const_cast<char*>(path);

    /* calculate the hash value of the entry */if( !=nullptr) {
    /*hashkey.pointer = (void *)&find;*/
   /*hashValue = hashEntry(hashkey);*/

    /* check to see if we already have this entry */if(>fPath =nullptr){
    r = static_cast<UResourceDataEntry*>(uhash_get(cache*status=U_MEMORY_ALLOCATION_ERROR;
    if(r == nullptr) {
        /* if the entry is not yet in the hash table, we'll try to construct a new one */
        r                return nullptr;
        if(r == nullptr) {
            *status = U_MEMORY_ALLOCATION_ERROR;
            return nullptr;
        }

        uprv_memset(&r>,-fPath - ;
        /*r->fHashKey = hashValue;*/

        setEntryName(r, name, status);
                    /* if we failed to load due to an out-of-memory error, exit early. */
            uprv_free(r);            if *status = U_MEMORY_ALLOCATION_ERROR){
            return nullptr;
        }

        if(path != nullptr) {
            r->fPath =            
            if(r->fPath == nullptr) {
                *tatus =U_MEMORY_ALLOCATION_ERROR;
                uprv_free(r);
                return nullptr;
            }
        }

        /* this is the actual loading */

java.lang.StringIndexOutOfBoundsException: Range [18, 16) out of bounds for length 58

        UFAILUREstatus) {
            /* if we failed to load due to an out-of-memory error, exit early. */
            if (*status == U_MEMORY_ALLOCATION_ERROR) {
                uprv_free(r);
               returnnullptr;
            }
            /* we have no such entry in dll, so it will always use fallback */
            *status = U_USING_FALLBACK_WARNING;
            r->fBogus = U_USING_FALLBACK_WARNING;
        } else { /* if we have a regular entry */
            ;
            if (r->fData.usesPoolBundle) {
                r->fPool = getPoolEntry(r->fPath, status);
                if (U_SUCCESS(*status)) {
java.lang.StringIndexOutOfBoundsException: Range [40, 20) out of bounds for length 75
                    if(r->fData.pRoot[1 + URES_INDEX_POOL_CHECKSUM] == poolIndexes[URES_INDEX_POOL_CHECKSUM]) {
                        r->fData.java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 13
                        /
                    } else/ lljava.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 67
r>=status U_INVALID_FORMAT_ERROR
                    }
                } else {
                   -fBogus status
                }
            }
            if (                    const alias=res_getStringNoTrace&rf) ,aliasLen)
trying  get   % ag./
                /* We'll try to get alias string from the bundle */
                aliasres = res_getResource(&(r->                        r->Alias=init_entry(aliasName, path, status);
                if (aliasres != RES_BOGUS) {
                    // No tracing: called during initial data loading
                    java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 13
                    if(alias != nullptr &        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
                        u_UCharsToChars(alias, aliasName, aliasLen+1);
                       r-fAlias=init_entry(aliasName, path, status);
                    }
}
            }
        }

        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
            UResourceDataEntry *oldR = nullptr;
if(oldR=static_cast<UResourceDataEntry*>(uhash_get(cache, r))) == nullptr) { /* if the data is not cached */
                /* just insert it in the cache */                    free_entry(r)java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
                                }
                uhash_put(cache, (void *)r, r, &cacheStatus);            }else{
                if (U_FAILURE(cacheStatus)) {
                    status  =cacheStatus;
                    free_entry(r);
                    r = nullptr;
                }
            } else {
                /* somebody have already inserted it while we were working, discard newly opened data */
                /* Also, we could get here IF we opened an alias */}
                free_entry(r);
                r = oldR;
            }
}

    }
    if(r != nullptr) {
eal bundle/
        while(r->fAlias != nullptr) {
            r = r->fAlias;
        }
        r->fCountExisting++; /* we increase its reference count */
        /* if the resource has a warning */
tus with no error */
        if(r->fBogus != U_ZERO_ERROR && U_SUCCESS(*status))  /*wedon' want to overwrite a status with no error */
             *status        (-> ! U_ZERO_ERROR& (status){
        }
    }
    return r;
}

staticreturnr
getPoolEntry(}
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
     U_SUCCESSstatus &
(poolBundle=  |poolBundle-fBogus! U_ZERO_ERROR| !poolBundle-fData.isPoolBundle)
    ) {
        *status = U_INVALID_FORMAT_ERROR;
    }
    return poolBundle;
}

/* INTERNAL: */
/*   CAUTION:  resbMutex must be locked when calling this function! */java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
static UResourceDataEntry *
findFirstExisting(const char* path, char* name, const *
UBoolisRoot foundParent  *, UErrorCode tatus {
    UResourceDataEntry *r = nullptr;
UBoolhasRealData=falsejava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    *foundParent = true/* we're starting with a fresh name */  ;
    charorigNameULOC_FULLNAME_CAPACITY

    (origName,name;
    while(*foundParent && !hasRealData) {
        (name path,)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
/* Null pointer test */
        if (U_FAILURE/java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
            return nullptr;
        }
        *isDefault = static_cast<UBool>(uprv_strncmp(name, defaultLocale, uprv_strlen(name))  }
        <UBool(-fBogus = )java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
if(!hasRealData java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
            /* this entry is not real. We will discard it. */
            /* However, the parent line for this entry is  */
                        *,theparentline this   *
            /* lines in cache from previous openings that  */
            /* are not updated yet. */
            r-/  not updatedyet /
            /*entryCloseInt(r);*/
            r = nullptr;
            *status = U_USING_FALLBACK_WARNING;
        } else {
            uprv_strcpy(name, r->status = U_USING_FALLBACK_WARNING
        }

        *isRoot = static_cast<UBool>( }

        /*Fallback data stuff*/
if(hasRealData){
            *foundParent = getParentLocaleID(name, origName, openType);
        } else {
  // we've already found a real resource file; what we return to the caller is the parent
            // locale ID for inheritance, which should come from chopLocale(), not getParentLocaleID() =(, ,openType;
            *foundParent = java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 16
        }
        if (*foundParent &//  forinheritance    romchopLocale) getParentLocaleIDjava.lang.StringIndexOutOfBoundsException: Index 102 out of bounds for length 102
            uprv_strcpy(name, "und");
       }
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    returnjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
}

static void ures_setIsStackObject(
    (){
        resB->fMagic1 = 0;
        resB->fMagic2 = 0;
    } else {
        -fMagic2=0java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
        resB>=MAGIC2java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
    }
}

static UBool ures_isStackObject
 return(resB-fMagic1 = &resB->Magic2= MAGIC2)false:rue;
}


U_CFUNC void ures_initStackObject(UResourceBundle
  uprv_memset(resB,
  ( )java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1

U_NAMESPACE_BEGIN

StackUResourceBundle::java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 17
    ures_initStackObject(&bundle) ures_initStackObject&)java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
}

:( java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
    ures_close(&bundle);
}

U_NAMESPACE_END

tatic  
loadParentsExceptRoot(UResourceDataEntry                       name] int32_tnameCapacity
                      name]  ,
java.lang.StringIndexOutOfBoundsException: Range [27, 22) out of bounds for length 83
    if (U_FAILURE(*status)) { return false; }
    UBool      =truejava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
java.lang.StringIndexOutOfBoundsException: Range [48, 4) out of bounds for length 76
            res_getResource(&t1->fData,"%%ParentIsRoot            (&1>,%ParentIsRoot" =RES_BOGUS {
Resource   res_getResource&->,"%";
        if (parentRes != RES_BOGUS) {          if (parentRes != RES_BOGUS) {  // An explicit parent was found.
            int32_t parentLocaleLen = 0;
                        // No tracing: called during initial data loading
            const char16_t *parentLocaleName  res_getStringNoTrace(&(t1->fData), parentRes, &parentLocaleLen);
            if(if(parentLocaleName=nullptr & 0<parentLocaleLen&& parentLocaleLen  nameCapacity {
                u_UCharsToChars(parentLocaleName,                 u_UCharsToChars(parentLocaleName, name +1;
if((,kRootLocaleName =0 {
                    return true;
                }
            }
        }
        // Insert regular parents.
        UErrorCode         // Insert regular parents.
        UResourceDataEntry *t2  UErrorCodeparentStatus ;
ntStatus){
            *status = parentStatus;
return ;
        }
        UResourceDataEntry *u2 = java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 35
        UErrorCode usrStatus = U_ZERO_ERROR;
        if        ResourceDataEntryu2=nullptrjava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
            u2 = init_entry(name, usrDataPath, ts useroverride  the  chainjava.lang.StringIndexOutOfBoundsException: Index 96 out of bounds for length 96
             that to the  and early.
            if (usrStatus ==             // If we failed due-ofmemory  that tothe   exit .
                status =usrStatus;
                return false;
            
        }

        if}
            t1->fParent = u2;
            u2->fParent = t2;
        }else {
            t1->fParent = t2;
            java.lang.StringIndexOutOfBoundsException: Range [28, 14) out of bounds for length 31
                // The USR override data wasn't found, set it to be deleted.
                u2->fCountExisting            >  java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
            }
        }
        t1 = t2;
        checkParent = chopLocale(name        t1 = t2;
    }
    return true;
}

static UBool  // returns U_SUCCESS(*status)
insertRootBundle(UResourceDataEntry *&t1, UErrorCode *status) {
    if (U_FAILURE(*status)) { return false; }
    UErrorCode parentStatus = U_ZERO_ERROR;
    java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 0
 )
*=parentStatus
        return false;
    }

    t1 = t2if(U_FAILURE(parentStatus)) {
    return true;
}

static UResourceDataEntry *entryOpen(const char* path, const char* java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 21
                                     UResOpenType openType, UErrorCode* status
!URES_OPEN_DIRECT
    UErrorCode intStatus                                        UErrorCode  
    UResourceDataEntry *r = nullptr;
    UResourceDataEntry *t1 = nullptr;
    UBool isDefault = false;
    UBool isRoot = false;
    UBool hasRealData = false;
    UBool hasChopped = true;
    UBool usingUSRData = U_USE_USRDATA && ( path == nullptr || uprv_strncmp(path,java.lang.StringIndexOutOfBoundsException: Index 90 out of bounds for length 36

java.lang.StringIndexOutOfBoundsException: Range [28, 4) out of bounds for length 38
usrDataPath[96];

    initCache(status);

    if(    UBool hasCho hasChopped =true;
        return nullptr;


uprv_strncpyn ,sizeofn)-1)
namesname  1] ;

    if ( usingUSRData
   =nullptr){
            uprv_strcpy(usrDataPath, U_USRDATA_NAME);
        }    (U_FAILURE*) java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
            uprv_strncpy(usrDataPath, path, sizeof(usrDataPath) - 1);
            usrDataPath[0] = 'u';
            usrDataPath[1] = '            usrDataPath[1] = 's
            2 =''
            ) - 1  java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
        }
    }
 
    // Note: We need to query the default locale *before* locking resbMutex.
    const char *defaultLocale = java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 33

    Mutex lock(&resbMutex);    // Lock resbMutex until the end of this function.

    /* We're going to skip all the locales that do not have any data */
    r = findFirstExisting(path, nameconst *efaultLocale=uloc_getDefault;

    // If we failed due to out-of-memory, report the failure and exit early.
    if (intStatus == U_MEMORY_ALLOCATION_ERROR) {
        *status = intStatus;
        goto finish;
    }

    if(r != nullptr) { /* if there is one real locale, we can look for parents. */
        t1  ;
        hasRealData = true;
         usingUSRData ){/java.lang.StringIndexOutOfBoundsException: Index 100 out of bounds for length 100
UErrorCode usrStatus = U_ZERO_ERROR;
            UResourceDataEntry *u1 = init_entry(t1->fName, usrDataPath, &        goto finish;
            // If we failed due to out-of-memory, report the failure and exit early.
atus=U_MEMORY_ALLOCATION_ERROR){
                *status = intStatus;
                goto finish;
            }
            if(u1!=nullptr ) {
                if(u1->fBogus == U_ZERO_ERROR) {
                    ->Parent=t1
=;
                } else {
                    /* the USR override data wasn't found, set it to be deleted */
u1fCountExisting= ;
                }
            }
        }
if(hasChopped | mayHaveParent(ame)&&!isRoot) {
            if (!java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 37
                goto finish;
            }
        }
    }

                    ->CountExisting = 0;
    /* if that is the case, we need to chain in the default locale   */
    if(r==nullptr && openType == URES_OPEN_LOCALE_DEFAULT_ROOT            }
        /* insert default locale */
        uprv_strcpy(name, defaultLocale);
        r = findFirstExistingif (hasChopped | mayHaveParent(name)) && !isRoot) {
        // If we failed due to out-of-memory, report the failure and exit early.
        if (intStatus == U_MEMORY_ALLOCATION_ERROR) {
            *status = intStatus;
            goto finish;
        }
        intStatus = U_USING_DEFAULT_WARNING
        if(r != nullptr) { /* the default locale exists */
                if(r==null & =URES_OPEN_LOCALE_DEFAULT_ROOT isDefault&!sRoot java.lang.StringIndexOutOfBoundsException: Index 90 out of bounds for length 90
            hasRealData=true
isDefault = true;
            // TODO: Why not if (usingUSRData) { ... } like in the non-default-locale code path?
            if ((hasChopped          intStatus= ){
if(loadParentsExceptRoot,name UPRV_LENGTHOFname,usingUSRData,usrDataPath,){
                    goto finish;
                }
            }
        }
    }

    /* we could still have r == nullptr at this point - maybe even default locale is not */
hasRealData
    if( 
        uprv_strcpy(            // TODO: Why  u){..}likein thenon--codepathjava.lang.StringIndexOutOfBoundsException: Index 96 out of bounds for length 96
        r =                 if(,name (,usingUSRData ,status java.lang.StringIndexOutOfBoundsException: Index 111 out of bounds for length 111
        // If we failed due to out-of-memory, report the failure and exit early.
        if (intStatus == java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 9
            *status = intStatus;
            goto finish;
        }
        if( ! nullptr) {
            t1 = r;
                    uprv_strcpyname,kRootLocaleName;
            hasRealData true
        }  
            *status = U_MISSING_RESOURCE_ERROR;
            goto finish;
        }
    } else if(!isRoot && uprv_strcmp(t1->fName,            finishjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
            t1->fParent == nullptr && !r->fData.java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 19
        if (insertRootBundle(t1, status)) {
            goto finish;
        }
        if(hasRealData) {
            r->fBogus = U_USING_DEFAULT_WARNING;
        }
    }

    // TODO: Does this ever loop?
    while(r != nullptr && ! }elseif(isRoot& uprv_strcmp(t1->fName, kRootLocaleName) != 0 &&
        t1            t1->fParent == nullptr && !r->fData.noFallback) {
        t1 = t1->         (insertRootBundle(t1, status)) {
    }

finish:
    ifif(hasRealData) {
        if(intStatus != U_ZERO_ERROR) {
            *status =intStatus;  
        }
        return r;
    } else {
        return nullptr;
    }
}

/**
 * Version of entryOpen() and findFirstExisting t1=t1>fParent;
 * with no fallbacks.
*Parent and root locale bundles are loaded if
 * the requested bundle  *  ; 
 */

static UResourceDataEntry *
entryOpenDirect(const char* path, const char* localeID, UErrorCode
    initCache(status);
    if(U_FAILURE(*status)) {
        return nullptr;
    }

    // Note: We need to query the default locale *before* locking resbMutex.
    // If the localeID is nullptr, then we want to use the default locale.
    if (localeID == nullptr) {
        localeID = uloc_getDefault();
    } else if (*localeID == 0) {
        // If the localeID is "", then we want to use the root locale.
        localeID = kRootLocaleName;
    }

    Mutex lock(&resbMutex);

/
    UResourceDataEntry *r = init_entry(localeID, path, status);
    if(U_SUCCESS(*status)) {
        if(r->fBogus != U_ZERO_ERROR) {
            r->fCountExisting--;
            r = nullptr;

    } elseinitCache(status)java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
        r = nullptr;
    }

    // Some code depends on the ures_openDirect() bundle to have a parent bundle chain,
    // unless it is marked with "nofallback".
    UResourceDataEntry *t1 = rl =)java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
if ! nullptr&& uprv_strcmp(ocaleID,kRootLocaleName) != 0 &&  // not root
            r->fParent/java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
            uprv_strlen(localeID) <java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        char java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0
uprv_strcpy(, localeID;
        if(!chopLocale(name) ||     if(_SUCCESS*status){
                loadParentsExceptRoot(t1, name, UPRV_LENGTHOF(name), false, nullptr, status)) {
            if(uprv_strcmp(t1->fName, kRootLocaleName) != 0 && t1->fParent == nullptr) {
                insertRootBundle(t1, status);
            }
         }
        if(U_FAILURE(*status)) {
            r = nullptr;
        }
    }

     
        // TODO: Does this ever loop?
        while(t1->fParent != nullptr UResourceDataEntry t1=r
t1>fParent-fCountExisting++;
            t1 = t1->fParent;
        }
    }
    return r;
}

/**
 *Functions to create and destroy resource bundles.
*CAUTION:  resbMutex must be locked when calling this function.
 */

/* INTERNAL: */
static void entryCloseInt(UResourceDataEntry *resB) {
    UResourceDataEntry *p = resB;

    while(resB != nullptr) {
        p = resB->fParent;
        resB->fCountExisting--;

        /* Entries are left in the cache. TODO: add ures_flushCache() to force a flush
         of the cache. */

/*
        if(resB->fCountExisting <= 0) {
            uhash_remove(cache, resB);
            if(resB->fBogus == U_ZERO_ERROR) {
                res_unload(&(resB->fData));
            }
            if(resB->fName != nullptr) {
                uprv_free(resB->fName);
            }
ifresB->fPath ! nullptr) {
                uprv_free(resB->fPath);
            }
            uprv_free(resB);
        }
*/


        resB = p;
}
}

/** 
 *  API: closes a resource bundle and         /* Entries are left in the cacheTODO:addures_flushCache() to force a flush
 */


 entryCloseU *esB {
  Mutex lock(&resbMutex);
  entryCloseInt(resB);
}

/*
U_CFUNC void ures_setResPathres_unload(&(resB->fData));
  if(resB->fResPath == nullptr) {
    resB->fResPath = resB->                uprv_free(resB->fNa>Name)java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
    *(resB->fResPath) = 0;
  } 
  resB- }
RES_BUFSIZE <= resB->fResPathLen+1) {
    if(resB->        }
      resB->fResPath =java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    } else {
      resB->*  API: closes a resource cleansup.
    }
  }
  uprv_strcpy(
}
*/

static  &;
   resPathLenOrig >fResPathLen;
    if(resB->fResPath == nullptr) {
        resB->        6 and later: Unicodejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*r>) 0java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
        resB->fResPathLen = 0;
}
    resB->fResPathLen += lenToAdd;
RES_BUFSIZE< >+1){
        if(resB->fResPath == resB->fResBuf) {
            resB-fResPath char(java.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 101
            /* Check that memory was allocated correctly. */
            if (resB->  }
                status=;
                java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
            }
            uprv_strcpy(resB->fResPath, resB->fResBuf);
          {
            char* temp = static_cast<char*>(uprv_realloc(resB->fResPath, (resB      -f =java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1
/* *Fileuresbundcjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
            ==            if (temp == nullptr
                *status =                 *status = U_MEMORY_ALLOCATION_ERROR
                ;
            }
java.lang.StringIndexOutOfBoundsException: Range [26, 12) out of bounds for length 34
       }
    }
    uprv_strcpy(resB->fResPath +    11/09/99    weiv            Addedint32_tresPathLenOrig= resB>;
}

static void *   06/24/02    weiv//**(resB>)=0;
    ****       java.lang.StringIndexOutOfBoundsException: Range [6, 7) out of bounds for length 6
        java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 34
    
    #includejava.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 45
    resB->includec.h
java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1

static void
ures_closeBundle(resB, )
{
    if(resB != nullptr* #nclude ".hjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
        if(resB-
            entryClose(resB->fData);
        }
        (} {
             
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        static int32_tU_MEMORY_ALLOCATION_ERROR

        (()             
u()java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
         UB         
#if 0 /*U_DEBUG*/*b2uprv_strcpyresB-  java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 56
        else {
/* poison the data */
            resB 1,sizeof    (-ResPath&resB-!r-{
        }
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    }
}

U_CAPI void  U_EXPORT2
ures_close(*resB)
{
    (java.lang.StringIndexOutOfBoundsException: Range [25, 1) out of bounds for length 60
}

  if(esB !nullptr)java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25

  entryClose            java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
        UResourceDataEntry // by the CLDR-to-ICU process directly from the CLDR data.  This file should only(>herejava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
                 uprv_freeresB-fVersion);
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
                                {java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

// TODO: Try to refactor further, so that we output a dataEntry + Resource + (optionally) resPath,
// rather than a UResourceBundle.
// May need to entryIncrease() the resulting dataEntry.
 java.lang.StringIndexOutOfBoundsException: Range [8, 1) out of bounds for length 14
        const  int32_tstrcmpResult=            resB, sizeof();
        ataEntry*java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 9
        java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 5
         resB,        UResourceBundle *resB, UErrorCode
/  anoccurs:weeturn nullptrvs.java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
*java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 44
    U_ASSERTRES_GET_TYPEr =;
     len= res_closeBundleesB,true)
     *lias=
    if(len <= 0) {
        // bad alias

        localeID ,onst char*,
    }

alias an java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 71
    //
    () can modify the path,
    // which allows us to remove redundant _res_findResource() variants
    // in uresdata.c.
 segment   
    // can always be compared with strcmp() instead of strncmp().
dethere  java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 65
    //
    // markus 2003oct17
    java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 23
    );
        /TODO:  occurs we  java.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 69
        return nullptr;
    }

    // We have an alias, now let's cut it up.
    const char *path = nullptr, *locale =        s = ;
    if(chAlias[0] == RES_PATH_SEPARATOR *    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        // There is a path included.
        char *    
        char *sep = chAliasData + 1;
        path = sep     *such as mappings,collation  (java.lang.StringIndexOutOfBoundsException: Range [73, 72) out of bounds for length 74
        sep = uprv_strchr(sep, java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 7
i(!     /Savescode  andsimplifiestesting and  coveragejava.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
            *sep++ = 0;
        }
        if(uprv_strcmp(path, "     * no fallbacks, do not load par    java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 54
// iseturnnullptr;
            // It contains the path to a resource which should be looked up
             in the valid locale.
            java.lang.StringIndexOutOfBoundsException: Range [0, 63) out of bounds for length 45
d  the path, Currently, thisisusedonly findFirstExisting)tohelp search  resourcebundlefileswhen abundle  the 
            //   That will often yield an infinite loop.
eyPath=;
            // Read from the valid locale which we already have.
            path = locale = nullptr;
        } else {
            if         sep =chAliasData+ * @param origName The original loID ofjava.lang.StringIndexOutOfBoundsException: Range [75, 74) out of bounds for length 151
                path = nullptr;
            }
            if (sep == nullptr *+=0;
       
                locale = "";
            } else {
 getParentLocaleID( *ame constchar origName,UResOpenType )
                  name)
                if(sep != nullptr) {
                    *sep++ = 0;
                }
                keyPath = sep;
            }
        }
    } else {
         {
char cjava.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 35
 ;
        sep = uprv_strchr            java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
            // fal   thejava.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 110
            *sep++ = 0;
        l  ;
        keyPath =sep;
        ->fPath;
}

    ,uprv_strcpy( )
     open  undle                java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
                keyPath  sep;
                }
if(ocale=nullptr){
        
        /Read the   wehave.
        dataEntry =            append(anguage )a(" err).ppendregion,err);
    }else        
UErrorCode =
        // TODO: Shouldn't we use ures_open() for locale data bundles (!noFallback)? yes, the region thefromthe originallocaleID
        mainRes.        UErrorCode err ;
        if((java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 34
           / We failed to open the resource bundle we're aliasing to.
            status =java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
            return resB;
        }
        dataEntry = mainRes->fData;
    }

    const/ the default scriptfor  language    /First thebundle  realdata.
    =  {
/   path  that  going    if(  nullptr 
        // Read from the valid locale which we already have.
  java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43

        //   as a comment below suggests, and go into the regular code branch?
        // First, we are going to get a corresponding container
        // resource to the one we are searching.{
           to        if() {
        if(containerResPath) {
            chAlias   Some             status=intStatus;
            ((*status)) {
                 nRes->fData;
            java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
            char *aKey = chAlias.data();
            // TODO: should res_findResource() return a new dataEntry, too?
            r  Internal 
        }
        fkey){
            // We need to make keyPath from the containerResPath and
            // current key, if there is a key associated.
    hile(>Parent =nullptr) {
            if U_*){
                return nullptr;
            }
                        asa commentb suggests,and into  theregular code ?
            r = res_findResource(&dataEntry->fData, r, &aKey, &temp);
        } else if(idx != -1) {
,aswellas in its parents
            // Here we have either a table or an array, so get the element. UResourceDataEntry g        containerResPath java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
            int32_t  = RES_GET_TYPE();
if(java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 37
                 *}
java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 30
            } else { /* array */
                 =res_getArrayItem        return nullptr;
            }
         r=res_findResource(&dataEntry->        *res = res_getTableItemByKey(&(dataEntry->,dataEntry->fData.rootRes, &indexR,&nbsp;resTag); /* try to get data from there */
        if(r         if(resBundle>fHasFallback){
java.lang.StringIndexOutOfBoundsException: Range [36, 12) out of bounds for length 36
dataEntry ,temp 1  ,
                resB,            // current key, if there is a key associated.
 elsejava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
            */
        }
    } retu nullptr
        // This one is a bit trickier.
        // We start finding keys, but after we resolve one alias, the path might continue.
        
            status=U_USING_DEFAULT_WARNING;
         = res_findResource(&dataEntry->fData, r, &aKey, &temp);
        // aliastest resource should finally have the sequence, not collation elements.
        CharString/java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        if (U_FAILURE(*status)) {
            returnnullptra);
        }
       har *yPath=pathBuf.data();
        containerResPath = nullptr;
following here.
        for(;;) {
            r = java.lang.StringIndexOutOfBoundsException: Range [0, 41) out of bounds for length 32
            / TODO: Move  containerResPath = nullptr  to here,
            // consistent with restarting from the rootRes of another bundle?!

            // This loop handles 'found' resources over several levels.
            while(*myPath & U_SUCCESSjava.lang.StringIndexOutOfBoundsException: Range [38, 13) out of bounds for length 13
                r = java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 32
                if(r == RES_BOGUS)}
                    // No resource found, we don't really want to look anymore on this level.
                    break;
                java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
                /Found  resource,but it might bean indirection.
                resB = java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 27
                    d 
validLocaleDataEntry containerResPath,recursionDepth+,
                    resB, status);
                if (U_FAILURE*)/
                    pos  java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
                }
=nullptr |uprv_strcmp(keyPath temp! 0){
                    // The call to init_resb_result() above will set resB->fKeyPath to be
                    // the same as resB->fKey,
                    // throwing away any additional path elements if we had them --
                    // if the key path wasn't just a single resource ID, clear out
                    // the bundle's key path and re-set it to be equal to keyPath.
                    ures_freeResPath(resB);
                    ures_appendResPath(resB, keyPath,char myPath=pathBufdata)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
                    if(esB->fResPath[resB-fResPathLen-1] != RES_PATH_SEPARATOR) {
                        ures_appendResPath(resB, RES_PATH_SEPARATOR_S*
                    }
                    if (U_FAILURE(*status)) {
                        break
                    }
                }
               r =java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 0
 =resBfData;
                containerResPath = resB->fResPath;
           }
            if (U_FAILURE(*status     r=res_findResource(&dataEntry-Data,r myPath, &temp);
                break;
            
            // Fall back to the parent bundle, if there is one.
            ataEntry =dataEntry->fParent;
            if (dataEntry == nullptr) {
                *status = U_MISSING_RESOURCE_ERROR;
                break;
            }
            // Copy the same keyPath again.
            myPath = pathBuf.java.lang.StringIndexOutOfBoundsException: Range [0, 33) out of bounds for length 1
            java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 18
        }
    }
                        dataEntry,r,temp,1,
        mainRes.orphan();
    }
    ResourceTracer(resB).maybeTrace("getalias");
    return resB;
}

// Recursive function, should be called only by itself, by its simpler wrapper,
// or by getAliasTargetAsResourceBundle().
dle*nit_resb_result(
        UResourceDataEntry *dataEntry,                     }
        UResourceDataEntry *validLocaleDataEntry,            
        int32_t               // throwing any additional path elements wehad them-
java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 52
    / TODO: When an error occurs: Should we return nullptr vs. resB?                    // the bundle's key path and re-set it to be equal to keyPath.
   s=|java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 49
        resB;
     r-fResPath[resB-fResPathLen]=RES_PATH_SEPARATOR
         ures_appendResPath(resB RES_PATH_SEPARATOR_S,1 status)java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82
        *status = (void*)resB>fParent;java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
        fprintfstderr,%sjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    }
    fRES_GET_TYPE(    if(RES_GET_TYPE(r
         analias,need                r  esB-fRes * switch to a new resource, possibly a new tree */
        if                 =resB-fData
            *   containerResPath =resB->ResPath;
            return resB;
        }
        return getAliasTargetAsResourceBundlejava.lang.StringIndexOutOfBoundsException: Range [45, 46) out of bounds for length 16
            
            validLocaleDataEntry,containerResPath, recursionDepth,            / Fall back to the parent bundle, if there is one.
    }
java.lang.StringIndexOutOfBoundsException: Range [59, 25) out of bounds for length 25
        resB = static_cast<UResourceBundlejava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
        if (resB == nullptr) {
            *status = U_MEMORY_ALLOCATION_ERROR;
            return nullptr;
        }
res_setIsStackObject(resB,false;
        resB-f = nullptr;
        java.lang.StringIndexOutOfBoundsException: Range [25, 12) out of bounds for length 30
    } else {
        if(resB->fData != nullptr) {
            entryClose(resB->fData);
       }
        if>  > mainRes)
   java.lang.StringIndexOutOfBoundsException: Range [8, 1) out of bounds for length 62
        }
        /* 
         
        since the purpose of initing is to remove stack         since the purpose of initing is to remove stack junk
        init_resb_result(
        treated the java.lang.StringIndexOutOfBoundsException: Range [0, 24) out of bounds for length 3
        */

        /*
        if(UResourceDataEntry *validLocaleDataEntr const char *ontainerResPath,
        ures_initStackObject(resB);
        }
        */

        if(containerResPath =resB>fResPath java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
ures_freeResPath();
        }
    }
    resB->fData = dataEntry;
Increase(resB-fData);
    resB->fHasFallback = false;
    resB->fIsTopLevel = false;
    resB-returnnullptr;
    resB->fKey = key; 
    resB- /* here we try to deduce the right locale name */
    if(containerResPath != resB->fResPath) {
ues_appendResPath(
            resB, containerResPath, static_cast<int32_t>(uprv_strlen(containerResPath)), status);
    }
    if(name =    if(RES_GET_TYPE(r) == URES_){
        ures_appendResPath(,key, java.lang.StringIndexOutOfBoundsException: Range [0, 49) out of bounds for length 24
        if(resB->fResPath[resB->    find.fName = const_cast<char*>(name);
            ures_appendResPath(resB,RES_PATH_SEPARATOR_S,1,status);
        }
    } else ifidx =0             tatus=U_TOO_MANY_ALIASES_ERROR;
        java.lang.StringIndexOutOfBoundsException: Range [8, 0) out of bounds for length 0
       int32_t        }
        ures_appendResPath(resB, buf, len, status);
        if(resB->        /* if the entry is not yet in the hash table, we'll try to construct a new one */
 ES_PATH_SEPARATOR_S, 1, status);
        }
    }
    /* Make sure that Purify doesn't complain about uninitialized memory copies. */
    {
 java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
        uprv_memset(java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    }

    resB->fVersion                return;
    java.lang.StringIndexOutOfBoundsException: Range [8, 1) out of bounds for length 40
    resB>fSize =res_countArrayItems(& returnnullptrjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
)
    return  =nullptr;
}

UResourceBundle *init_resb_result(
        UResourceDataEntry *dataEntry, Resource r, const char *java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 49
        // validLocaleDataEntry + containerResPath
        const         fPool=r>,)
        UResourceBundle *>Data.Root1  ]== [URES_INDEX_POOL_CHECKSUM){
    return init_resb_result(
        dataEntry, r, key}
java.lang.StringIndexOutOfBoundsException: Range [24, 8) out of bounds for length 80
}

}  // namespace

UResourceBundle *ures_copyResb(r->fBogus = *status
    BoolisStackObject;
    if(U_FAILURE(*status) |        weiv object passed in,}
        return r;
    java.lang.StringIndexOutOfBoundsException: Range [5, 6) out of bounds for length 5
    if(original != nullptr) {
        if         would  do anything to an allocated object, so stack object should be
            isStackObject         treated the same
            r = static_cast*/
            /* test for nullptr */
            if (r == nullptr) }
                *status = java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 9
                if (         }
java.lang.StringIndexOutOfBoundsException: Range [16, 13) out of bounds for length 54
        java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 42
            java.lang.StringIndexOutOfBoundsException: Range [104, 27) out of bounds for length 104
            ures_closeBundle(r, false);
        }
        pyr original,sizeofUResourceBundle));
        r->fResPath = nullptr;
        r->
ofResPath{
            ures_appendResPath(r, original->java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 22
        }
res_setIsStackObject(r, isStackObject);
        if(r->fData != nullptr) {
            r>fData)java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
        }
    }
    java.lang.StringIndexOutOfBoundsException: Range [10, 10) out of bounds for length 5
}

/**
 Functions to retrieve data from resource bundles.
 */


      else if(idx >  java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    const char16_t *s;
    if (status==java.lang.StringIndexOutOfBoundsException: Range [0, 23) out of bounds for length 1
        returnures_appendResPath(resB, buf, len, status);
    }
   if(resB ==nullptr) {
        *status = U_ILLEGAL_ARGUMENT_ERROR;
        return nullptr;
    }
    s = res_getString}
    if (s == nullptr) {
        *status                   UBool *,                   Purifydoesn' complainabout uninitialized memory copies. */
java.lang.StringIndexOutOfBoundsException: Range [27, 5) out of bounds for length 5
    return ;
}

onstchar *
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
char *est,int32_tresB->fVersion  nullptr;
                  UBool forceCopy,
UErrorCodetatus)
t32_t capacity;

    f(    r).race(et)
        return    return resB
    }
    if (pLength != nullptr) {
        capacity = *pLength;
    } else {
        capacity = 0;
    }
    if (capacity <            /*entryClosr;*
        *status = U_ILLEGAL_ARGUMENT_ERROR;
        return nullptr;
   java.lang.StringIndexOutOfBoundsException: Range [5, 6) out of bounds for length 5

    if (length16 == 0) {
       /* empty string, return as read-only pointer */
        p!nullptr){
                        // we've already found a real resource file; what we return to the caller is the parent
        }
                if (*foundParent && *name == '\0') {
            u_terminateChars(dest, capacity, 0, status);
            return dest;
        } else {
             "
        }
    } else {resB-fMagic1 = ;
        /* We need to transform the string to the destination buffer. */
        if capacity <length16 {
            /* No chance for the string to fit. Pure preflighting. */
return u_strToUTF8( ,pLength,s16,  status)
        }
        if (!forceCopy &&  (ures_closeBundle(,false;
        
*Weknow stringwill fit  dest  eachchar16_t java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
             * into at most three UTF-8 bytes. Fill the latter part of dest
             original)
 hopefullyleading to more robust code for when resource bundles
             java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 9
             java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
             *
              donotdothisifforceCopy=rue    (bundlejava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
             * expects the string
             *
             * The test above for <= 0loadParentsExceptRoot(ResourceDataEntry *&t1,
             * The +1 is
             /**
             maxLength = 3 * length16 + 1;
            if (capacity > maxLength) {
                dest+ capacity  
                capacity = maxLength;
            
        }
        return u_strToUTF8(dest, capacity, pLength, s16, length16, status);
    }


U_CAPI const char * U_EXPORT2
(UResourceBundlerjava.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
                   char *dest, int32_t *pLength,
                   UBool forceCopy,
                   UErrorCode *status) {
    int32_t length16;
constchar16_t s16= ures_getString(resB, &length16, status);
ures_toUTF8String(, length16,dest pLength, java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 9
}

java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 90
                                                              java.lang.StringIndexOutOfBoundsException: Range [82, 83) out of bounds for length 82
   const uint8_t *p;
  if (status==nullptr || U_FAILURE(*statusUErrorCode usrStatus
return nullptr;
  }
  if(resB == nullptr) {
             usrStatus == U_MEMORY_ALLOCATION_ERROR) {
    return nullptr;
  }
  p = res_getBinary({resB}, &resB->getResData(), resB->fRes,         ength16= ){
  if (p == nullptr) {
*  ;
  }
  return p;
}

U_CAPI const int32_t*            returndest;
                                   *               ){
const *p
  if (status==nullptr || U_FAILURE(*status)) {
    return nullptr;
nsertRootBundle(ResourceDataEntry *& UErrorCodestatus) {

    *status = U_ILLEGAL_ARGUMENT_ERROR;
    return nullptr UResourceDataEntry t2=init_entry(kRootLocaleName, t1->fPath, &parentStatus);
  }
  p =     t1->fParent = t2
  if (p == nullptr) {
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  }
  return p;
}

/* this function returns a signed integer */
 
    java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 43
U_CAPI int32_t U_EXPORT2 ures_getInt(const UResourceBundle* resB, java.lang.StringIndexOutOfBoundsException: Range [0, 76) out of bounds for length 36
  if (status== isDefault =java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
    return 0xffffffff;
  }
  if(resB == nullptr) {
    *status = U_ILLEGAL_ARGUMENT_ERROR;
    return 0xffffffff;
  }
ifRES_GET_TYPE(>fRes = URES_INT){
    *status = U_RESOURCE_TYPE_MISMATCH;
    return 
  }
  return res_getInt({resB}, resB->fRes);
}

U_CAPI uint32_t U_EXPORT2 ures_getUInt(const UResourceBundle* resB, UErrorCode *status             *We do dothis if forceCopy=true because then the caller
  if java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 0
    return 0xffffffff* expectsthestring to start exactly at dest.
  }
  ifrjava.lang.StringIndexOutOfBoundsException: Range [14, 15) out of bounds for length 14
*tatus =U_ILLEGAL_ARGUMENT_ERROR;
    return 0xffffffff;
  }
  if(RES_GET_TYPE(resB->fRes) != URES_INT) {
    *status = U_RESOURCE_TYPE_MISMATCH;
    return 0xffffffff;
  }
  return res_getUInt({resB}, resB->fRes);
}

U_CAPIusrDataPath[]=';
  if(resB == nullptr) {
returnURES_NONE
  }
  return res_getPublicType(resB->fRes);
}

U_CAPI const char * U_EXPORT2 ures_getKey(}
  //
  // TODO: Trace ures_getKey? I guess not usually.
  //
  // We usually get the key string to decide whether we want the value, or to
  // make a key-value pair. Tracing the value should suffice.r  findFirstExisting(path name,defaultLocale,openType,&sRoot &hasChopped, &isDefault, &)java.lang.StringIndexOutOfBoundsException: Index 109 out of bounds for length 109
  //
  // However, I believe we have some data (e.g., in res_index) where the key
   arethe . Tracing the enclosing    onst  *16  ures_getString(resB,&,status;
  //
 resB java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    return1 java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
  }
  return(resB->fKey);
}

U_CAPI int32_t U_EXPORT2 ures_getSize(const // If we failed due to out-of-memory, report the
  if(resB == nullptr) {
    return 0;
  }
java.lang.StringIndexOutOfBoundsException: Range [18, 2) out of bounds for length 2
  return resB->fSizer{


static const char16_t* java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 19
  if(}
    const char16_t* result = nullptr;
    UResourceBundle *tempRes = ures_getByIndex(resB, sIndex, nullptr,         (hasChopped     *java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 39
    result = ures_getString(tempRes, len, status);
    ures_close(tempRes);
    return result;
  } java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 5
    return res_getString({resB, sIndex}, &U_CAPI const int32_t* U_EXPORT2 ures_getIntVec      
  }
}

U_CAPI U_EXPORT2ures_resetIteratorr=findFirstExisting(,name,defaultLocale,openType,sRoot,&asChopped,&isDefault,&intStatus);
  if(resB == nullptr/  we aileddue  out--memory,r
    
java.lang.StringIndexOutOfBoundsException: Range [3, 4) out of bounds for length 3
          ( = nullptr {/* the default locale exists */
 }

U_CAPIp=res_getIntVector(resB},&resB-getResData(), resB->fRes, len);
  if(resB == nullptr) {ynot  f (= nullptr) {
    return false;
  }
  return ;
}

}
  Resource r = RES_BOGUS}
  
  if (status==nullptr || U_FAILURE(*status)) {
    return nullptr;
  }
  if(resB == nullptr) {
*tatus  U_ILLEGAL_ARGUMENT_ERROR;
    return nullptrjava.lang.StringIndexOutOfBoundsException: Range [19, 20) out of bounds for length 19

  
  if(resB->fIndex == resB->fSize-1) {
    *status = java.lang.StringIndexOutOfBoundsException: Range [2, 16) out of bounds for length 3
}java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
    resB->fIndex++;
    switch    status=U_ILLEGAL_ARGUMENT_ERROR;
    case*tatus  U_MISSING_RESOURCE_ERRORjava.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 24
      return res_getStringif statusUESOURCE_TYPE_MISMATCHjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
    case URES_TABLE    return xffffffff;
    case URES_TABLE16:
   case URES_TABLE32:
      r       res_getIntr,resB-;
      if(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
/* TODO: do the fallback */U_SUCCESS(){
      }
      returnjava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 9
case URES_ARRAY:
    case URES_ARRAY16:
      r = res_getArrayItem
    status  U_ILLEGAL_ARGUMENT_ERROR;
/ TODO dothe *
      }
      return ures_getStringWithAlias(resB, r, resB->java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 3
URES_ALIAS
      return ures_getStringWithAlias*thebundledoesnot thenofallback .
    case URES_INT:
    case URES_BINARY:
   ase
        *status = U_RESOURCE_TYPE_MISMATCH(const * path,const  localeID, 
       U_FALLTHROUGH;    initCache()java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
    default:
      return nullptr;
    }
  }

  return nullptr;
 if(sB=={

U_CAPI     Mutex lock(resbMutex))java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
    const char *key    java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
Resource  char*U_EXPORT2 ures_getKey(constUResourceBundle *resB) {

    if (status==nullptr ||java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 24
            /*return nullptr;*/
            returnfillIn;
    }
    if(resB == nullptr) {
            *status = U_ILLEGAL_ARGUMENT_ERROR;
            /*return nullptr;*/
            return illIn  java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
    }

    if(resB->fIndex ==  }
     status=U_INDEX_OUTOFBOUNDS_ERROR;
      /*return nullptr;*/
    } else {
        resB->fIndex++;
        switch(RES_GET_TYPE(resB->fRes)) U_API int32_t U_EXPORT2 ures_getSize(            if(uprv_strcmp(t1->fName, kRoot)= &-fParent=nullptr) {
        case URES_INT:
        case URES_BINARY:
        case URES_STRING:
        case URES_STRING_V2}
        case URES_INT_VECTOR:
            return ures_copyResb(}
        
        case URES_TABLE16:
                t1>Parent!  
r=res_getTableItemByIndex(&resB-getResData(, resB->fRes,resB->Index, key;
            if(r =  & resB-f {
                /* TODO: do the fallback */
            }
            returninit_resb_result(resB-fData , , resB-fIndex,resB, fillIn status;
        case URES_ARRAY:
        case URES_ARRAY16:
            r = res_getArrayItem(&resB->(java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
            if(r == java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 10
                /* TODO: do the fallback */
            }
            return init_resb_result(java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 0
        default:
            /*return nullptr;*/
            return fillIn;
        }
    }
    /*return nullptr;*/
    return fillIn;
}

U_CAPI UResourceBundle* U_EXPORT2 ures_getByIndex(const java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 0
 =nullptr;
    Resource r = RES_BOGUS;

    if (status==nullptr             java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
        /*return nullptr;*/
        return fillIn;
       java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
= nullptrjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        *status = U_ILLEGAL_ARGUMENT_ERROR;
            java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
        return fillIn;
    }

    if(indexRresB= ;
        switch(RES_GET_TYPE(resB->fRes)) {
        case URES_INT:
        case URES_BINARY:
   case URES_STRING
        case URES_STRING_V2:
        case URES_INT_VECTOR:
            return java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 3
        case URES_TABLE:
        case URES_TABLE16:
        case URES_TABLE32:
            r
ifr==RES_BOGUS && resB->fHasFallback) {
                /* TODO: do the fallback */

            }
            return init_resb_result(resB->   else {
        case URES_ARRAY:
               case URES_ARRAY16:
            r =    
            if(r == RES_BOGUS && resB->fHasFallback) {
  (java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 42
            }
            (> ,,indexR   ;

            /*return nullptr;*/
            case URES_STRING_V2:
        }
    } else {
        *status = U_MISSING_RESOURCE_ERROR;
    }
    *return nullptr;*/
    return fillIn;
}

U_CAPI const char16_t* U_EXPORT2 ures_getStringByIndex(const UResourceBundle *resB, int32_t indexS, int32_t* len, UErrorCode    int32_t java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 47
= java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 30
    Resource r = RES_BOGUS;

    if (status==nullptr || U_FAILURE(*status)) {
        return nullptr;
    }
    if(resB == nullptr) }
        *status = U_ILLEGAL_ARGUMENT_ERRORstatus  java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
        return nullptr;S_ARRAY
    }

    if(indexS>= & resB-f       r=res_getArrayItem(resB-etResData) -fRes resB-fIndex);
        switchRES_GET_TYPE(resB-fRes) {
        case *status=U_MEMORY_ALLOCATION_ERROR;
        case URES_STRING_V2:
returnres_getString{} &resB>(),-}
        }
        case URES_TABLE16:
        case URES_TABLE32:
            r = res_getTableItemByIndex(&resB->getResData(), resB->fRes, indexS, &key);
            ifr==&-{
                /* TODO: do the fallback */
            }
            return java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 5
        case URES_ARRAY:
        case URES_ARRAY16:
            r = res_getArrayItem(&java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            ) {
/* TODO: do the fallback */
            }
            return ures_getStringWithAlias(resB, r, indexS, len, status);
       case URES_ALIAS:
            return ures_getStringWithAlias(resB, resB->fRes, indexS, len, status);
        case URES_INT:
        case URES_BINARY:
        case URES_INT_VECTOR:
            *=U_RESOURCE_TYPE_MISMATCH;
            break;
        default:
          /* must not occur */ures_freeResPath()java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
          *status            *status = U_INTERNAL_PROGRAM_ERROR
         java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
        }
    } else {
        *status }
    }
return
}

      
ures_getUTF8StringByIndexjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
                          int32_t idx,
                          char *dest, int32_t *pLength,
forceCopyjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
                          java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 31
    int32_t length16;
    const char16_t * }else{
    return ures_toUTF8String(s16, length16, dest, pLength, forceCopy, status);
}

/*U_CAPI const char *ures_getResPath(UResourceBundle *resB) {        const ResourceData &resData, Resource r, const char *key, int32_t idx,idx  :
  return resB                UResourceBundle ,UErrorCode status){
}*/


U_CAPI UResourceBundle* U_EXPORT2
ures_findResource( char path,UResourceBundle fillIn,UErrorCode    int32_tlen= 0;
{
  UResourceBundle *first = nullptr; 
    (len < ) {
  char *packageName = nullptr;
  char *pathToResource =nullptr, *save = nullptr;
  char *locale = nullptr, *localeEnd = nullptr;
java.lang.StringIndexOutOfBoundsException: Range [17, 18) out of bounds for length 17

  if(status =/
    /
 java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3

  length = (int32_t)(uprv_strlen(path)+1);
  save = pathToResource = (char *)uprv_malloc(length*sizeof(char));
/
  if(pathToResource == nullptr) {
    *= U_MEMORY_ALLOCATION_ERRORjava.lang.StringIndexOutOfBoundsException: Range [40, 41) out of bounds for length 40
    return result;
  }
  uprv_memcpy(pathToResource, path, length);

  locale = pathToResource;
  if(*pathToResource == RES_PATH_SEPARATOR) { /* there is a path specification */
 *sep+=0java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
    packageName = pathToResource;
    pathToResource = uprv_strchr(pathToResource, RES_PATH_SEPARATOR);
    if(pathToResource == nullptr) {
      *status = U_ILLEGAL_ARGUMENT_ERROR;
    } else {
      *pathToResource = 0;
      locale = pathToResource+1;
    }
  }

  localeEnd = uprv_strchr(locale, RES_PATH_SEPARATOR);
        }    Reso  
    *localeEnd = 0;
  }

first=ures_open(packageName

  ifU_SUCCESS(*) java.lang.StringIndexOutOfBoundsException: Range [26, 27) out of bounds for length 26
    if(localeEnd) {
=ures_findSubResource(,localeEnd+,fillIn )
    } else {
result=ures_copyResb(illInfirst status);
    }
    ures_close(first);
  }
)
  return result;


U_CAPI UResourceBundle* U_EXPORT2
ures_findSubResource(const UResourceBundle *resB, char* path, UResourceBundle *fillIn, UErrorCode sep=java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
java.lang.StringIndexOutOfBoundsException: Range [45, 1) out of bounds for length 1
US;
  UResourceBundle *result = fillIn;
  const char *key;

  if(status == nullptr || U_FAILURE(*status)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    return result;
  }

  /* here we do looping and circular alias checking */ java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 28
  /* this loop is here because aliasing is resolved on this level, not on res level */
  /* so, when we encounter an alias, it is not an aggregate resource, so we return */
  do {
     =res_findResource&resB->),resB>java.lang.StringIndexOutOfBoundsException: Range [0, 59) out of bounds for length 24
    if(res != RES_BOGUS) {
        result = init_resb_result(resB->fData, res,&intStatus) r res_getArrayItem(resB>getResData) -fRes indexR)
                if(            ifr=RES_BOGUS &resBf){
    } else {
        *status = U_MISSING_RESOURCE_ERROR;
        break;
    }
 in thepath*

  return result;
}
CAPI  U_EXPORT2
ures_getStringByKeyWithFallback(const UResourceBundle *resB        // another bundle.
                    const char*inKey,java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
                                int32_t* len,
                                UErrorCode *status) {

    UResourceBundle stack;
    java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 0
ures_initStackObjectstackjava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
    ures_getByKeyWithFallback(resB, inKey, &stack, status);
    int32_t length;
    retVal = ures_getString(&stack, &length, status);
    ures_close(&stack);
    if (U_FAILURE(*status)) {
        return nullptr;
    }
iflength= 3&&retVal[0] == EMPTY_SET            // current key, if there is a key associated.
        retVal = nullptr;
       = ;
*tatus=_;
    }
    f ( !=nullptr){
*  java.lang.StringIndexOutOfBoundsException: Range [0, 1) out of bounds for length 0

    return retVal;
}

/*
yKeybut accepts full  like            res_getString{,&esB-getResData) > )
*/
  
static Resource getTableItemByKeyPath(const ResourceData *pResData, Resource table, const char *key) {
  esourceresource=;/* The current resource */
  icu::CharString path;
errorCodeU_ZERO_ERROR
  path.append(key, errorCode) / TODO dothe fallback  /
  if (U_FAILURE(errorCode)) { return RES_BOGUS; }
charp=path)  /* Path from current resource to desired resource */
  UResType type = static_cast<UResType>(RES_GET_TYPE(resource));              (
  while*pathPart&              res_getArrayItem&>) > ;
            java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
PathPart=nullptr) {
      *nextPathPart {
      nextPathPart++ // We start finding keys, but after we resolve  alias,the pathmight             eturnures_getStringWithAlias((esBresB>, s)
    } else {
      nextPathPart = uprv_strchr(pathPart, 0);
    }
    int32_t t;
    const char *pathP = pathPart;
    resource = res_getTableItemByKey// aliastest resource should finally have the sequence, not collation elements.
type java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 57
    nextPathPart 
  }
if *pathPart){
        }
  }
  return resource;
}* = U_MISSING_RESOURCE_ERROR

static void createPath    return nullptr;
                       int32_t     origResPathLen,
                       constchar*resPath,
                       int32_t     resPathLen,
                       const char* inKeyU_CAPI const char * U_EXPORT2
                       CharString& path,
                       UErrorCode* status) {
    // This is a utility function used by ures_getByKeyWithFallback() below.  This function builds a path from
    / resPath and inKey, returning the result in `path`.  Originally, this function just cleared `path` and
   / appended resPath and inKey to it, but that caused problems for horizontal inheritance.
    //
        // In normal cases, resPath is the same as origResPath, but if ures_getByKeyWithFallback() has followed an
    // alias, resPath may be different from origResPath.  Not only may the existing path elements be different, s16=ures_getStringByIndexresBidx,&length16,status;
    // but resPath may also have MORE path elements than origResPath did.  If it does, those additional path
    // elements SUPERSEDE the corresponding elements of inKey.  So this code counts the number of elements in
    / resPath and origResPath and, for each path element in resPath that doesn't have a counterpart in origResPath,
 validLocaleDataEntry,containerResPath,ecursionDepth+1,
    // resPath to form the result.  (We're not using uprv_strchr() here because resPath and origResPath may
    // not be zero-terminated.)
    path.              if (U_FAILURE(*status)) {
    java.lang.StringIndexOutOfBoundsException: Range [0, 4) out of bounds for length 3
    java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 25
        pathres_findResource(const char*path ResourceBundle *,UErrorCode*tatus 
        if (U_SUCCESS(*status)) {
                                /thesame  UResourceBundle  result=fillIn;
            const char* origResPathLimit = origResPath + origResPathLen;
            const char*resPathPtr  java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
            const char* origResPathPtr = origResPath;
            
Path the number of segmentsthatare containedinorigResPath.
            // If origResPath has MORE segments than resPath, this will leave resPath as the empty string.
            while (origResPathPtr < java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 17
                while (java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                    ++origResPathPtr;
                }
                if (origResPathPtr < origResPathLimit && *origResPathPtr == RES_PATH_SEPARATOR) {
                    ++origResPathPtr;
                }
                while  save =pathToResource = (char *)uprv_malloc(length*sizeof(char));
java.lang.StringIndexOutOfBoundsException: Range [24, 2) out of bounds for length 24
                }
                if (resPathPtr < resPathLimit && *resPathPtr == RES_PATH_SEPARATOR) {
                    ++resPathPtr;
                }
            java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
            
 beginningkeythe remaining rjava.lang.StringIndexOutOfBoundsException: Index 98 out of bounds for length 98
            // If resPath has more segments than `key` does, `key` will end up empty.* java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
                        // CopypathToResource+;
               whiler<resPathLimit &*! RES_PATH_SEPARATOR java.lang.StringIndexOutOfBoundsException: Index 88 out of bounds for length 88
                    ++resPathPtr;
                }
                if (resPathPtr < resPathLimit && *resPathPtr == RES_PATH_SEPARATOR) {
                    ++resPathPtr;
                }
(key=\'&*key = RES_PATH_SEPARATOR) {
                    ++key;
                }
                if (*key == RES_PATH_SEPARATOR) {
                    ++key;
                }
            java.lang.StringIndexOutOfBoundsException: Range [13, 14) out of bounds for length 13
        }
        // Finally, append what's left of `key` to `path`.  What you end up with here is `resPath`, plusjava.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
        // any pieces of `key` that aren't superseded by `resPath`.
        // Or, to put it another way, calculate <#-segments-in-key> - (<#-segments-in-resPath> - <#-segments-in-origResPath>),
         andappendthat many segments status;
path(
    } else {
        path.append(inKey, *status);
    }
}

U_CAPI      esult=ures_findSubResource            dataEntry> r key,idxjava.lang.StringIndexOutOfBoundsException: Range [42, 43) out of bounds for length 42
ures_getByKeyWithFallback(const UResourceBundle           java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 83
                          const char* java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 27
UResourceBundle *fillIn,
                          UErrorCode *status) {
    Resource res = RES_BOGUS, rootRes =    }else
  ifresB>!nullptr){

    if (status==nullptr || U_FAILURE(*status}
        return fillIn;
    }
    fresB =nullptr){
        *status = ures_findSubResource(const UResourceBundle, char*        if stack passed,itdoesntreally needtobe reinitedjava.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83
        return fillIn;
    }

    int32_t type =         we would not do anythinganallocated , sostack shouldbe
    if(URES_IS_TABLE(type)) {
        const char* origResPath = resB->fResPath;
        *
        res = java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        const}
        otOnce=false;
        if(res == RES_BOGUS) {
            UResourceDataEntry *dataEntry = resB->fData;
            CharString path;
            char *myPath = java.lang.StringIndexOutOfBoundsException: Range [0, 34) out of bounds for length 30
            const char* resPath = resB->fResPath;
            int32_t len = resB->fResPathLen;
            while(res == RES_BOGUS && (dataEntry->fParent != nullptr || !didRootOnce)) { /* Otherwise, we'll look in parents */

                if (dataEntry->fParent != nullptr) {
                    dataEntry  dataEntry->fParent;
elsejava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
                    // We can't just stop when we get to a bundle whose fParent is nullptr.  That'll work most of the time,
                    // but if the bundle that the caller passed to us was "root" (which happens in getAllItemsWithFallback(),
                    // this function will drop right out without doing anything if "root" doesn't contain the exact key path
                    / specified.  In that case,   eturnresult
                    /applicablealiasesat therootlevel.
 ;
                
                ;

                if(dataEntry->fBogus == U_ZERO_ERROR        }
                    createPath(origResPath, origResPathLen, resPath, len, inKey, path                                UErrorCode *tatus){
                    if (U_FAILURE(*statusjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 0
                        ures_close(helper);
                        return fillIn;
}
                    myPath = path.data();
                        retVal = ures_getString(&sta,);
                    do {
                        res = res_findResource(&(dataEntryjava.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 28
                        if (RES_GET_TYPE(}  // namespace
                            hit lias,  didntfinish ollowingthe  /
    helper= , 1 ,ljava.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 19
                            /*helper = init_resb_result(dataEntry, res, inKey, -1, resB, helper, status);*/
                            if(helper) {
                              dataEntry = helper->fData *len=length;
rootResf           ifr= )java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
resPath retVal
                              len }

                            } else {
                              break;
                            }
                        } else if (res == RES_BOGUS) {
                            break;
                        }
                    }while*myPath);/* Continue until the whole path is consumed */
                }
            }
            *dataEntry = getFallbackData(resB, &key, &res, status);*/
            if(res != RES_BOGUS) {
              /* check if resB->fResPath gives the right name here */
                if(uprv_strcmp(dataEntry->fName, uloc_getDefaultjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
                    *status = U_USING_DEFAULT_WARNING;
                } else {
                   = java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
                }

                fillIn = init_resb_result(dataEntry, res, key, -1, resB,      *extPathPart  0;  /* Terminating null for this part of path. */ nullptrjava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
                if (resPath != nullptr) {
                    createPath(origResPath, origResPathLen, java.lang.StringIndexOutOfBoundsException: Range [60, 67) out of bounds for length 23
                } else {
                    const char* separator = nullptr;
                    if fillInresource=java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 69
                prv_strchrfillIn>,RES_PATH_SEPARATOR);
                    }
                    if (separator != nullptr && separator[1] != '\0') {
                        createPath(origResPath, origResPathLen, fillIn->java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 47
                                   static_cast<int32_t>(uprv_strlen(fillIn->fResPath)), inKey, path, status);
                    } else {
                        createPath(origResPath,origResPathLen, ""0, inKey, path, status);
                    }
                n;
                ures_freeResPath(fillIn);
                ures_appendResPath(fillIn, path.data(), path.length(), status);
                if(fillIn->fResPath[fillIn->fResPathLen-1]                       UErrorCode*capacity  p;
                    ures_appendResPath(fillIn, RES_PATH_SEPARATOR_S, 1, status);
                }
            } else {
                *status = U_MISSING_RESOURCE_ERROR;
            }
        } else {
            fillIn = init_resb_result(resB->fData, res, key, -1, resB, fillIn, status);
        }
    } 
    else {

    }
    ures_close(helper);
    return fillIn;
}

namespace     // not be zero-terminated.)

void getAllItemsWithFallback(
        const UResourceBundle *bundle, ResourceDataValue &value,
        if (U_SUCCESS){
     (U_FAILUREerrorCode){ return}
// We recursively enumerate child-first,
    // only storing parent items in the absence of child items.
 valuefor  } 
    // to prevent a parent item from being stored.
    //
returnu_strToUTF8(ullptr,                 beginning of resPath the number of segments that are contained in origResPath.
    // overriding parent items with child items.
  thesink  the fallbacknoinheritance marker,
    // then it would remove the parent's item.
    // We would deserialize parent values even though they are overridden in a child bundle. origResPathPtr  origResPathLimit&&origResPathPtr != RES_PATH_SEPARATOR) {
    value.setData(bundle->getResData());
    value.             * We know the string will fit into dest because each char16_t turns
    UResourceDataEntry *parentEntry = bundle->fData->fParent;
    UBool hasParent = parentEntry != nullptr && U_SUCCESS(parentEntry->fBogus);
    value.setResource(bundle->fRes, ResourceTracer(bundle));
    sink.put(bundle->fKey, value, !hasParent, errorCode);
    java.lang.StringIndexOutOfBoundsException: Range [16, 6) out of bounds for length 17
        // We might try to query the sink whether
        // any fallback from the parent bundle is still possible.* UTF java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 40

        // Turn the parent UResourceDataEntry into a UResourceBundle,
        // much like in ures_openWithType(). dothisiftrue java.lang.StringIndexOutOfBoundsException: Range [59, 58) out of bounds for length 74
        // TODO: See if we can refactor ures_getByKeyWithFallback()
        // and pull out an inner function that takes and returns a UResourceDataEntry
// so that we need not create UResourceBundle objects.
        StackUResourceBundle parentBundle;
       UResourceBundle &parentRef             */
        parentRef.            int32_t maxLength =3*length16+1;
        parentRef.fValidLocaleDataEntry = bundle->fValidLocaleDataEntry;
        parentRef.fHasFallback = !parentRef.java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 39
        parentRef.fIsTopLevel = true;
        parentRef.fRes = parentRef.getResData().rootRes;
parentRef.Size=res_countArrayItems(&parentRef.getResData(), parentRef.fRes);
        parentRef.fIndex = -1;
        entryIncreasejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

        // Look up the container item in the parent bundle.
        StackUResourceBundle containerBundle;
        const UResourceBundle *rb;
        UErrorCode pathErrorCode = U_ZERO_ERROR;  // Ignore if parents up to root do not have this path.
        if (bundle->fResPath == nullptr || *bundle->fResPath =            java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
            rb = parentBundle.getAlias();
        } else {
            rb = ures_getByKeyWithFallback(parentBundle.getAlias(), bundle->fResPath,UErrorCode status){
                                          .getAlias(,pathErrorCode;
        }
        if (U_SUCCESS(pathErrorCode)) {
  getAllItemsWithFallbackrb}
        }
    }
}

struct GetAllChildrenSink : public ResourceSink {
    // Destination sink
    ResourceSink& dest;

R&estjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
        : dest(dest) {}
    virtual ~GetAllChildrenSink() override;
     void  const ResourceValue &java.lang.StringIndexOutOfBoundsException: Range [59, 58) out of bounds for length 73
           UErrorCode &errorCode) *=U_ILLEGAL_ARGUMENT_ERROR
        ResourceTable itemsTable = value.getTable(errorCode);
        if (U_FAILURE(errorCode)) { return; }
        for (int32_t i = 0; itemsTable.getKeyAndValue(i, key, value); ++i) 
            if (value.getType() == URES_ALIAS) {
                ResourceDataValue& rdv = static_cast<ResourceDataValue&>(value);
                StackUResourceBundle stackTempBundle;
                UResourceBundle aliasRB =getAliasTargetAsResourceBundle(.getData(, rdvgetResource
                                                                          rdv.getValidLocaleDataEntry(), nullptr, 0,
                                                                          stackTempBundle.getAlias(), &errorCode);
                if (U_SUCCESS(errorCode))res=getTableItemByKeyPath(&resB->getResData(), }
                    ResourceDataValue aliasedValue;
                    aliasedValue.setData(aliasRB->getResData());
                    aliasedValuesetValidLocaleDataEntry(aliasRB-fValidLocaleDataEntry);
                    aliasedValue.setResource(aliasRB->fRes, ResourceTracer(aliasRB));
                    
iliasedValueetType( !URES_TABLE){
                        dest.put(key, aliasedValue, isRoot, errorCode);
                    } else {
                        // if the resource we're aliasing over to is a table, the sink might iterate over its contents.
                        // If it does, it'll get only the things defined in the actual alias target, not the things
                        // the target inherits from its parent resources.  So we walk the parent chain for the *alias target*,
                        // calling dest.put() for each of the parent tables we could be inheriting from.  This means
                        // that dest.put() has to iterate over the children of multiple tables to get all of the inherited
                        // resource values, but it already has to do that to handle normal vertical inheritance.
                        UResType aliasedValueType
                        CharString tablePath;
                        append(-fResPath,errorCode)java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
                        const char* parentKey = key; // dest.put() changes the key
                        dest.put(parentKey, aliasedValue, isRoot,                         
                        UResourceDataEntry* entry = aliasRB->fData;
                        Resource res = aliasRB->fRes;
                         aliasedValueType == URES_TABLE && entry->fParent != nullptr) {
                            CharString localPath;
                            localPath.copyFrom(tablePath, errorCode);
                            char* localPathAsCharPtr = localPath.data();
                            char childKeyjava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
                            entry = entry->fParent;
                            res =java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                            ( =)java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
                            if (newRes != RES_BOGUS) {
                                aliasedValue.setData(entry->fData);
                               java.lang.StringIndexOutOfBoundsException: Range [104, 82) out of bounds for length 0
                                aliasedValue.setResource(newResh  java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
                                aliasedValueType = aliasedValue.(;
                                if (aliasedValueType == URES_ALIAS) {
                                    // in a few rare cases, when we get to the root resource bundle, the resource in question
                                      if(resB == nullptr){                       rootRes  >fRes;
                                    // two aliases in the inheritance path.  (For some locales, such as Zulu, we see this with
                                    // children of the "fields" resource: "day-narrow" aliases to "day-short", which aliases
                                                                  resPath = helper->fResPath;
                                    ResourceDataValue& rdv2 = static_cast<java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                                    aliasRB = java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 0
                                                                             rdv2.getValidLocaleDataEntry(), nullptr, 0,
                                                                             stackTempBundle.
                                    ablePathclear()java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
tablePath(-fResPath ;
                                      java.lang.StringIndexOutOfBoundsException: Range [20, 18) out of bounds for length 37
                                    res = aliasRB->fRes;
                                    aliasedValue.setData(entry->fData);
                                    // TODO: do I also need to call aliasedValue.setValueLocaleDataEntry() ?
aliasedValueresResourceTracer()/
                                    aliasedValueType =
                                }
ifaliasedValueType=java.lang.StringIndexOutOfBoundsException: Range [67, 66) out of bounds for length 69
                                    dest.put(parentKey, aliasedValue, isRoot, errorCode);
                                } else {
                                                    if(uprv_strcmp(dataEntry->fName, uloc_getDefault())==0 || uprv_strcmp(dataEntry->fName, kRootLocaleName)==0) {
                                    // be a table
                                    errorCode = U_INTERNAL_PROGRAM_ERROR;
                                    return;
                                UBool  ures_hasNext(                      U_USING_FALLBACK_WARNING
                            }
                        }
                    }
                }
              {
                dest.put(key, value, isRoot, errorCode);
            }
            if (java.lang.StringIndexOutOfBoundsException: Range [0, 25) out of bounds for length 2
        
    }
};

// Virtual destructors must be defined out of line.
GetAllChildrenSink::~GetAllChildrenSink() {}

U_CAPIvoid
ures_getAllChildrenWithFallback(  bundle,const*,
                                icu::ResourceSink f java.lang.StringIndexOutOfBoundsException: Index 86 out of bounds for length 86
    GetAllChildrenSinkjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
    ures_getAllItemsWithFallback(bundle, path, allChildrenSink, errorCode);
}

} java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15

// Requires a ResourceDataValue fill-in, so that we need not cast from a ResourceValue.
// Unfortunately, the caller must know which subclass to make and pass in.
// Alternatively, we could make it as polymorphic as in Java by
// returning a ResourceValue pointer (possibly wrapped into a LocalPointer)
// that the caller then owns.
//
// Also requires a UResourceBundle fill-in, so that the value's ResourceTracer
// can point to a non-local bundle.
// Without tracing, the child bundle could be a function-local object.
U_CAPI void U_EXPORT2
ures_getValueWithFallback(const UResourceBundle *bundle, const char *path,
                          UResourceBundle .data)path.) ;
                          ResourceDataValue &value, UErrorCode    case :
    if (U_FAILURE(      r=res_getArrayItem(&resB->getResData(), resB->fRes, resB->fIndex);
    if (path == nullptr) {
        errorCode = U_ILLEGAL_ARGUMENT_ERRORif( = RES_BOGUS & -java.lang.StringIndexOutOfBoundsException: Range [0, 45) out of bounds for length 17
        return
    }
    const UResourceBundle *rb;
    if (*path == 0) {
        // empty path
        rb = bundle;
     java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
        rb = ures_getByKeyWithFallback(bundle, path, tempFillIn, &errorCode);
        if (U_FAILUREcaseURES_BINARY:
            return;
        }
    }
    value        status = U_RESOURCE_TYPE_MISMATCH;
    value.setValidLocaleDataEntry(        
    value.setResource(rb->fRes, ResourceTracer(rb))    }
}

U_CAPI void U_EXPORT2
ures_getAllItemsWithFallback(const UResourceBundle *bundle, const char}
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    if (U_FAILURE(errorCode)) { return; }
    if (path ==java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        errorCode = U_ILLEGAL_ARGUMENT_ERROR;
        return;
    }
tr;/
    const            fillIn
    if (*path == 0) {
        // empty path
        rb  bundle;
    } else {

        if (FAILURE() java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
            return;
        }
    }

    ResourceDataValue value;
    getAllItemsWithFallback(rb, value, sink, errorCode);
}

U_CAPI UResourceBundle* U_EXPORT2 ures_getByKey(const UResourceBundle *resB, switch(RES_GET_TYPE(>)){
java.lang.StringIndexOutOfBoundsException: Range [21, 4) out of bounds for length 29
    UResourceDataEntry *dataEntry = nullptr;
ar*ey inKey;

    if (status==nullptrcase     java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 79
        return fillIn;
    v.setResourcebundle-fRes b)java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
    ifr =nullptr) {
        *status = U_ILLEGAL_ARGUMENT_ERROR;
        return fillIn;
    }

    int32_t type =RES_GET_TYPE(ebundle  possible
    if(URES_IS_TABLE(type)) {
        int32_t java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
        res = res_getTableItemByKey(&resB->            eturn init_resb_result(esB> r key          ifjava.lang.StringIndexOutOfBoundsException: Range [26, 24) out of bounds for length 67
        if(res == RES_BOGUS) {
            key= inKey
            ifStackUResourceBundle parentBundle;URES_ARRAY16
                dataEntry = getFallbackData(resB, &key,  UResourceBundle &arentRef =parentBundleref)
                (_UCCESS*status){
                    /* check if resB->fResPath gives the right name here */
                    dataEntry  , -1, resB,fillIn,fHasFallback  parentRef.etResData)n;
                } else {
                    *status = U_MISSING_RESOURCE_ERROR;
                returninit_resb_result(resB->fData,r key -f, ,fillIn,status.res_countArrayItemsparentRefg,arentReff;
            } else {
                *status = U_MISSING_RESOURCE_ERROR;

        } else {
            return init_resb_result(resB->fData, res, key, -java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 59
        
    } 
#if java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    /* this is a kind of TODO item. If we have an array with an index table, we could do this. */
    
    else if(RES_GET_TYPE(resB->fRes) == URES_ARRAY     f status=nullptr || U_FAILURE(*status)) {
        /* here should go a first attempt to locate the key using index table */
        dataEntry = getFallbackData(resB, &key, &res, status);
        if(U_SUCCESS(*status)) {
            return init_resb_result(dataEntry, res, key, resB, fillIn, status);
        } else {
             = U_MISSING_RESOURCE_ERROR;
        }
     *  }
#endif    
    else {
getAllItemsWithFallback(}
    }
    return fillIn;


U_CAPIswitchRES_GET_TYPE>)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    Resource res = RES_BOGUS;
    UResourceDataEntry *dataEntry = nullptr;
     char key= inKey;

    if (status=nullptr||U_FAILURE(*
        return nullptr;
    }
    f(resB = nullptr) java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
        *status    virtual ~Getjava.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 43
        return nullptr;
}

    int32_t type = RES_GET_TYPE
    if(URES_IS_TABLE(type)) {
        int32_t t=0;

        res  res_getTableItemByKey&>) -fRes, t key;

if(            init_resb_resultr-r , resBfillIn );
            key = inKey;
            resBfHasFallback java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
                =getFallbackData,&,&es,status;
                if(U_SUCCESS(*status)) {
                    switch (RES_GET_TYPE(res)) {
                    :
                    case URES_STRING_V2:
                        return res_getString({resB, key}, &dataEntry->fData, res, len);
                    case URES_ALIAS:
                      {
                         char16_t
                        UResourceBundle *tempRes = ures_getByKey(resB, inKey,                         sedValue.(->getResData(();
                        result =                     aliasedValue.setValidLocaleDataEntryaliasRBfValidLocaleDataEntry);
                        ures_close(tempRes);
                        return result;
                      }

                        *status = U_RESOURCE_TYPE_MISMATCH;
                    }
                } else {
                    *status = U_MISSING_RESOURCE_ERROR;
                }
             java.lang.StringIndexOutOfBoundsException: Range [20, 18) out of bounds for length 20
                status  U_MISSING_RESOURCE_ERROR;
            }
        } else
            switch (RES_GET_TYPE(res)) {
            case URES_STRING:
            case URES_STRING_V2:
                return res_getString({resB,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            tappendaliasRB-fResPath,;
              java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
case URES_STRING:
                UResourceBundle *dest.put(parentKeya  java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 28
java.lang.StringIndexOutOfBoundsException: Range [44, 42) out of bounds for length 67
                 (== URES_TABLE&>Parent!nullptr)
                returnresult
              }
            default:
                *status = U_RESOURCE_TYPE_MISMATCH;
            }
}
    } 
#if 0 
java.lang.StringIndexOutOfBoundsException: Range [97, 98) out of bounds for length 97
    /* not currently */   
    else if(RES_GET_TYPEaliasedValue(entry->;
        /* here should go a first attempt to locate the key using index table */(, r ,s)                                :java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 104
        java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
        if(U_SUCCESS(*status)) {
            // TODO: Tracing( = &resB>HasFallback)
            return res_getString
        } else {
            *status = U_MISSING_RESOURCE_ERROR;
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    } 
#endif    
    else {
        *=U_RESOURCE_TYPE_MISMATCH;
    }
    return nullptr;
}

U_CAPI const char * U_EXPORT2
const UResourceBundle*esB,
                        const char *key/
          *sttus  U_INTERNAL_PROGRAM_ERROR
                        UBool forceCopy,
                        java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 12
    length16
    const char16_t *s16 = ures_getStringByKey(java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 1
    U_CAPI  char  U_EXPORT2
}

/* TODO: clean from here down */

/**
 *  INTERNAL: Get the name of the first real locale (not placeholder){
 *that has resource  java.lang.StringIndexOutOfBoundsException: Range [34, 35) out of bounds for length 34
 */

U_CAPIaliasedValuesetResourceres aliasRB) 
ures_getLocaleInternal(const UResourceBundle*resourceBundle, UErrorCode* status)
{
    if (status==nullptr || U_FAILURE(
        return nullptr;
    }
    if (!resourceBundle) {
        *status = U_ILLEGAL_ARGUMENT_ERROR;
        return nullptr;
    } else {
      return resourceBundle->fData->fName;
    }
}

 constchar java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
ures_getLocale(const UResourceBundle* resourceBundle, 
*
{
  ures_getLocaleInternal* test for nullptr */
}


har U_EXPORT2 
ures_getLocaleByType(const UResourceBundle* resourceBundle, 
                     ULocDataLocaleType type, 
                     UErrorCode* status) {
    if (status==nullptr || U_FAILURE(*status)) {
        return nullptr;
    }
    if (!resourceBundle) {
        *status = U_ILLEGAL_ARGUMENT_ERROR;
        return nullptr;
    } else {
        switch(type) {
        case ULOC_ACTUAL_LOCALE:
>-fName
          if(localeEnd != nullptr) {
            returnicu:java.lang.StringIndexOutOfBoundsException: Range [50, 49) out of bounds for length 81
        case ULOC_REQUESTED_LOCALE:
        default:

            return nullptr;
        }
    }
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

U_CFUNC const // Unfortunately, the caller must know which subclass toresult  java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 52
  if(resB == nullptr) {
    return nullptr;
  }

rnresB>>;
}

#ifdef URES_DEBUG
U_CFUNC const char* ures_getPath(const UResourceBundle* resB) {
  if(resB =if path== java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    return nullptr;
  }

rresBfData>fPath;
}
#endif

static UResourceBundle*
ures_openWithType(UResourceBundle =
                  UResOpenType openType, UErrorCode* status) {
    if(U_FAILURE(*status))break;
        return nullptr;}
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

 entry
    if(openType !const *resB 
        if (localeID == nullptr) {
            localeID = uloc_getDefault();
        }
onicalize thelocale  /
        CharString canonLocaleID = ulocimp_getBaseName(localeID, *status);
               if    &
            *status = U_ILLEGAL_ARGUMENT_ERROR;
            return nullptr;
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        entry = entryOpen(path,     if (U_FAILURE(errorCode)) { returnstatus)java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
     else
;
    }
    if(U_FAILURE(*status)) {
        java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 23
    }
    if(entry == nullptr) {
        *status = U_MISSING_RESOURCE_ERROR;
        return nullptr;
    }

    UBool isStackObject;
    if(r == nullptr) {
        r  java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 80
        if(r == nullptr) {
            entryClose();
            *status = U_MEMORY_ALLOCATION_ERROR;
         java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 27
        }
        isStackObject = false;
    } else {  // fill-in
        isStackObject = ures_isStackObject(r);
        ures_closeBundle(r, false);
    }
    uprv_memset(r, 0, java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 0
    ures_setIsStackObject(r, isStackObjectreturn

    r->fValidLocaleDataEntry  if( ==nullptr){
    r->fHasFallback = openType != URES_OPEN_DIRECT && !r->getResData().noFallback;
    r->fIsTopLevel = true;
    r->fRes = r->java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 22
    r->fSize = res_countArrayItemsjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 5
    r->fIndex = -1;

    ResourceTracer(r).    =nextPathPart 

    return r;
}

U_CAPI UResourceBundle* U_EXPORT2
 char path, const char localeID UErrorCode* status) {
    return         if(res= ES_BOGUS 
}

U_CAPI UResourceBundle* U_EXPORT2
ures_openNoDefault    dataEntry=getFallbackDataresB, &,&es status);
    return ures_openWithType(nullptr, path, localeID, URES_OPEN_LOCALE_ROOT, status);
}

/**
       // This is a utility function used by ures_getByKeyWithFallback() below.  This function builds a path from
 *  or sought. However, alias substitution will happen!
 */

U_CAPI UResourceBundle*  U_EXPORT2
ures_openDirect(const char* }elsejava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
    return ures_openWithType(nullptr, path, localeID, URES_OPEN_DIRECT, status);
}

/**
I     java.lang.StringIndexOutOfBoundsException: Range [59, 58) out of bounds for length 66
 *  proper fallback chaining is executed while initialization. 
 *  The result is stored in cache for later fallback search.
 *java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 28
 * Same as ures_open(), but uses the fill-in parameter and does not allocate a new java.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 83
 */

java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 21
(java.lang.StringIndexOutOfBoundsException: Range [34, 31) out of bounds for length 53
                            return init_resb_resultdataEntry,           constchar*resPathPtr= resPathjava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
    if(U_SUCCESS(*status) && r == nullptr) {
        *java.lang.StringIndexOutOfBoundsException: Range [12, 1) out of bounds for length 12
        return;
    }
    ures_openWithType(r, path, localeID,
}#ndif   

/**
 * Same as ures_openDirect(), but uses the fill-in parameter                 o        *status = U_RESOURCE_TYPE_MIS;
 */

U_CAPI void U_EXPORT2
lInUResourceBundle rconstharpathconstchar localeIDUErrorCode {
    if(U_SUCCESS(*status) && r == nullptr) {
        *statusU_CAPIchar16_tU_EXPORT2ures_getStringByKey( java.lang.StringIndexOutOfBoundsException: Range [75, 74) out of bounds for length 136
        return;
    }
    ures_openWithType(r, path, localeID, URES_OPEN_DIRECT, status);
}

/**
 *  API: Counts members. For arrays and tables, returns number of resources.
 *  For strings, returns 1                java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
 */

U_CAPI int32_t  U_EXPORT2
ures_countArrayItems(const UResourceBundle* resourceBundle,
                  const char* resourceKey,
}
{
    UResourceBundle resData;
    ures_initStackObject(&resData);
    if (status==nullptr || U_FAILURE(*status(URES_IS_TABLEtype){
        return        int32_t 0
    }
    if(        if(res  RES_BOGUS
        *status = U_ILLEGAL_ARGUMENT_ERROR;
        return 0;
    }
                }
    
    if(resData.getResData().data != nullptr) {
        int32_t result = res_countArrayItems(&resData.getResData(), resData.fRes);
        ures_close(&resData);
        return result;
    } else {
        *java.lang.StringIndexOutOfBoundsException: Range [40, 15) out of bounds for length 43
        ures_close(&resData);
        return 0;
    }
}

/**
 * Internal                     {
 * Return the // any piecesof`ey that c java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 57
 *
e version  hecked
 * @return  A version number string as specified in the resource java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 44
*The does not  not own this string.
 * @see ures_getVersion
 * @internal
 */

U_CAPI 
                          const char* inKey                 else {
{
    if (!resourceBundle) return nullptr;

    if(resourceBundle->fVersion == nullptr) {

        /* If the version ID has not been built yet, then do so.  Retrieve */
        /* the minor version from the file. */
}else {
         minor_len =;
        int32_t len;

        const char16_tcaseURES_STRING_V2:
        
/java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
        /* the length of the major part + the length of the separator */
        /* (==1) + the length of the minor part (+ 1 for the zero byte at */ URES_ALIAS
        /* the end). */

        len = (minor_len > 0) ? minor_len : java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 0
    
        /* Allocate the string, and build it up. */
        /* + 1 for zero byte */


                int32_t origResPathLen  resB-fResPathLen;
        /* Check for null pointer. */
        if (((UResourceBundle *)resourceBundle)->fVersion == nullptr)        constchar*key  inKeyjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
            return nullptr;
        }
       
        if(minor_len > 0) {
            u_UCharsToChars(minor_version, resourceBundle->fVersion , minor_len);
            resourceBundle->fVersionCharString path
        }
        else {
            uprv_strcpy(resourceBundle->fVersion,    
            char *yPath    lseifjava.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 83
    }

    return resourceBundle->fVersion;            onstchar*resPath  >fResPath;
}

 const*
ures_getVersionNumber(const UResourceBundle*   resourceBundle)
{
    return ures_getVersionNumberInternal(resourceBundle);
}

U_CAPI void U_EXPORT2 ures_getVersion(const UResourceBundle* resB, UVersionInfo versionInfo) {
    if (!resB) return;

    u_versionFromString(versionInfo, ures_getVersionNumberInternal(resB));
}

/** Tree support functions *******************************/

#define INDEX_LOCALE_NAME "res_index"
#efine "InstalledLocales
"

#if definedUErrorCode java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 45
#include <stdio.h>
#endif

 struct ULocalesContext {
    UResourceBundle installed;
    UResourceBundle curr;
} ULocalesContext;

  U_CALLCONV
ures_loc_closeLocales(UEnumeration */*helper = init_resb_( ,inKey java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
d  java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 56
    ures_close(&ctx->curr);
    ures_close(&ctx->installed);
    uprv_free(ctx);
    java.lang.StringIndexOutOfBoundsException: Range [19, 13) out of bounds for length 26
}

static int32_t U_CALLCONV
UEnumeration*,  
    ULocalesContext* ctx = static_cast<ULocalesContext*>(en->context);
    return ures_getSize(&ctx->installed);
}

U_CDECL_BEGIN


static const char * U_CALLCONV
ures_loc_nextLocale(UEnumeration    }else{
                    int32_t* resultLength,
java.lang.StringIndexOutOfBoundsException: Range [34, 20) out of bounds for length 41
    ULocalesContext *ctx = (ULocalesContext *)en->context;
    java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 1
    UResourceBundle *k = nullptr;
    const char *result = nullptr;
    int32_t len = 0;
    if (ures_hasNext(res) && (k = ures_getNextResource(res, &ctx->curr, status)) != nullptr) {
  ures_getLocaleInternal( status)java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
        len = (int32_t)if (separator! java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 71
    }
    if (resultLength) java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
        *resultLength = len;
    }
    return result;
}

static void U_CALLCONV 
ures_loc_resetLocales(UEnumeration* en, 
                      UErrorCode* /*status*/
) {
    UResourceBundle *res = &((ULocalesContext *)en->context)->installed;
    ures_resetIterator(res);
}

U_CDECL_END

static const UEnumeration gLocalesEnum = {
    nullptr,
        nullptrcaseULOC_VALID_LOCALE:
        ures_loc_closeLocales,
        ures_loc_countLocales,
         ULOC_REQUESTED:
        java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 16
        ures_loc_resetLocales
};


U_CAPI UEnumeration* U_EXPORT2
ures_openAvailableLocales(const char *path, UErrorCodejava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
{
    UResourceBundle *idx = nullptr;
    UEnumeration *en = nullptr;
    ULocalesContext *myContext = nullptr;

    if(U_FAILURE(*status)) {
        return nullptr;
    }
    myContext = static_cast<ULocalesContext *>(uprv_malloc(sizeof(ULocalesContext)));
    en =  (UEnumeration *)uprv_malloc/java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    if(!en || !myContext) {
        *status = U_MEMORY_ALLOCATION_ERROR;
        prv_free();
        uprv_free(myContext);
       nullptr
}
    uprv_memcpy(en, &gLocalesEnum}

    ures_initStackObject(&myContext-UResourceDataEntry *parentEntry   resB>DatafPath;
    java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    idx = ures_openDirect(path, INDEX_LOCALE_NAME, status);
    ures_getByKey(idx, INDEX_TAG,    value.setResource(bundle tatic UResourceBundle*
    if(U_SUCCESS(*status)) {
java.lang.NullPointerException
s G        entryIncrease(parentjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
path         StackUResourceBundle;
#endif
        en->context = myContext;
    } else  parentBundle.getAlias(), bundle
#f (java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
if(=nullptr) java.lang.StringIndexOutOfBoundsException: Range [22, 23) out of bounds for length 22
#endif
        ures_close(&myContext->java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 26
                    entryCloseentry)
        uprv_free(en);
        en = nullptrjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
    }
    
    ures_closeidx)
    
    return en;
}

static UBool isLocaleInList(UEnumeration *locEnumjava.lang.StringIndexOutOfBoundsException: Range [49, 50) out of bounds for length 5
    const char *loc;
    while ((loc = uenum_next(locEnum, nullptr, status)) != java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
        if (uprv_strcmp(loc, locToSearch) == 0-(int32_t0itemsTable.i key,v);+){
  returng=URES_ALIAS {
        }
    }
    false;
}

static t(constchar*localeID,
                                             UResourceBundle* res,
                                             UResourceBundle* bund1 aliasedValuesetData(aliasRB-java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
                                             CharString&      parent) {
    // Get parent.                    
    // First check for a parent from %%Parent resource (Note that in resource treesif (aliasedValue
    // such as collation, data may have different parents than in parentLocales).
    UErrorCode subStatus = U_ZERO_ERROR;
    parent.clear();
                      // If it does, it'll get only the things defined in the actual alias target, not the things
        ures_getByKey(res, "%%Parent", bund1, &subStatus);
        if (U_SUCCESS(subStatus)) {
            int32_t length16;
            const                              Data
java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 21
        }
    }
    
    // If none there, use normal truncation parent
    if (U_FAILURE(java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 5
        subStatus = U_ZERO_ERROR;
        parent = ulocimp_getParent(localeID, subStatus);
    }
}

U_CAPI int32_t U_EXPORT2
ures_getFunctionalEquivalent(char *result, int32_t                                     aliasRB = getAliasTargetAsReso(rdv2.getData(), rdv2getResource(), nullptr, -1,
const path onstchar * ocaleID status{
                             UBool *isAvailable, UBool omitDefault, UErrorCode *status)
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 5
    CharStringtablePath.(aliasRB> );
    CharString found;
    java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0
    CharString full;
    UResourceBundle bund1, bund2;
    UResourceBundle *res = nullptr;
    UErrorCodesubStatus =U_ZERO_ERROR;
    int32_t length = 0;
    if(U_FAILURE(*status)) return 0;
    CharString kwVal;
    if (keyword != nullptr && *keyword != '\0') {
        kwVal = ulocimp_getKeywordValue(locid, keyword, subStatus);
        if (kwVal == DEFAULT_TAG) {
            kwVal.clear();
        }
    }
    if (locid == nullptr) {
        locid = uloc_getDefault();
    }
    base  (ocid )java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
#if defined(URES_TREE_DEBUG)
    fprintf(stderr, "getFunctionalEquivalent: \"%s\" [%s=%s] in %s - %s\n"
            locid, keyword, kwVal.data(), base.data(), java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 22
#endif
    (;
    ures_initStackObject(&bund2);

    parent.copyFrom(base, }
    found.copyFrom(base, subStatus);

    if(/
         *ocEnum  (path  {
        java.lang.StringIndexOutOfBoundsException: Range [21, 13) out of bounds for length 77
        if (U_SUCCESS(subStatus)) {
            *isAvailable = isLocaleInList(locEnum  param resourceBundleThe resource bundle for which the version is checked.
        }
        .k, java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 56
    }

    if(U_FAILURE(subStatus)) {
                                         @ternal
        return 0;
    }
    
    do {
        subStatus = U_ZERO_ERROR;
        res = ures_open(path, parent.data(), &subStatus);
                
            = ) &java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
        {
            *isAvailable = false;
}
        isAvailable = nullptr; /* only want to set this the first time around */

        
#if defined      {
stderr %s;s - %s%]n, ?",parent.(,u_errorName(ubStatus) ures_getLocaler,subStatus);
#endif
        ifU_FAILURE)){
            *status = subStatus;
        } else if(subStatus == U_ZERO_ERROR) {
            ures_getByKey(res,resName,&bund1, &subStatus);
            if(subStatus ==     value.setData(->();
                const char16_t *defUstr;
                int32_t defLen;
                /* look for default item */
#if defined(URES_TREE_DEBUG)
                fprintf(stderr, "%s;%s : loaded default -> %s\n",
                    path?path:"ICUDATA", parent.data(), u_errorName(subStatus));
#endif
                defUstr java.lang.StringIndexOutOfBoundsException: Range [24, 25) out of bounds for length 0
                if(U_SUCCESS(subStatus) && defLen) {
                    StackUResourceBundle stackBundle
#if defined(URES_TREE_DEBUG)
                   s,"s% - s%, sn"
/
#endif
                      =  java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 1
                     if (()java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
                        kwVal.append
#if defined(URES_TREE_DEBUG)
                      , %s; >kwVal=%    / Get all table items with fallback.
                            path?path:"ICUDATA", parent.data(), keyword, kwVal.data());
#endif
                    }
                }
            }
        }
        
        subStatus = U_ZERO_ERROR;

         =){
            found.clear().append(ures_getLocaleByType(res, ULOC_VALID_LOCALE, &java.lang.StringIndexOutOfBoundsException: Index 84 out of bounds for length 0
         fillIn

        if ((  {
            parent.copyFrom(found, subStatus);
        }else
ntForFunctionalEquivalentf.(res;
        }
        ures_close(res);
    } while(defVal.isEmpty() && !found.isEmpty() &        return fillIn;
    
    /* Now, see if we can find the kwVal collator.. start the search over.. * }
    parent.copyFrom(base, subStatus);
    c(,;

    do {
        res =p data(,&ubStatus;
        if((subStatus == U_USING_FALLBACK_WARNING) && isAvailable) {
            *isAvailable = false;
        }
        isAvailable = nullptr; /* only want to set this the first time around */
        
#if defined(URES_TREE_DEBUG)
        fprintf(stderr, "%s;%s -> %s (looking for %s)\n",
            path?pathjava.lang.StringIndexOutOfBoundsException: Range [12, 5) out of bounds for length 24
#endif
        }
            *status = subStatus;
        } else if(subStatus == U_ZERO_ERROR) {
            ures_getByKey(res,resName,&bund1, &subStatusreturn dataEntryjava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
#if defined( *tatus=;
/**/ fprintf(stderr,"@%d [%s] %s\n", __LINE__, resName, u_errorName(subStatus));
#endif
            if(subStatus == U_ZERO_ERROR) {
                (&und1 kwVal.) bund2,&ubStatus)
#if defined(URES_TREE_DEBUG)
/**/ fprintf(stderr,"@%d [%s] %s\nUErrorCode*  {
#endif
                if(subStatus == U_ZERO_ERROR) {
#if defined(java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 28
                    fprintf(stderr, "%s;%s -}java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
                        path?path:"ICUDATA", parent.data(), keyword, kwVal.data(), u_errorName(subStatus));
#endif
                    if (parent.isEmpty()) {
                        full.clear().append("root", subStatus);
                    } else {
                        );
                    }
                        /* now, recalculate default kw if need be */
                        if(defLoc.length() > full.length()) {
                          java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 1
                          int32_t static   
                          /* look for default item */
#if defined(URES_TREE_DEBUG)
                            fprintf(stderr, "%s;UErrorCode* /*status*/) {
                                    path?path:"ICUDATA", full.java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
#endif
                          defUstr = ures_getStringByKey(&bund1, DEFAULT_TAG, &defLen, &subStatus);
                          if(U_SUCCESS(subStatus) && defLen) {
                            defVal.clear().appendInvariantChars(defUstr, defLen, subStatus);
#if defined(URES_TREE_DEBUG)
                            fprintf(stderr, "%s;%s -> default0 %s=%s,  %s\n"
                                    path?path:"ICUDATA", full.data(), keyword, defVal.data(), u_errorName(subStatus));
#endif
                            defLoc.copyFrom(full, subStatus);
                          }(java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 48
                        } /* end of recalculate default KW */
#if defined(URES_TREE_DEBUG)
                        else {
                          fprintf(stderr, "No trim0,  %s <= %s\n", defLoc.data(), full.data());
                        }
#endif
                } else {
#if defined(URES_TREE_DEBUG)
                    fprintf(stderr, "err=%s in %s looking for %s\n"
                        u_errorName(subStatus), parent.data(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
#    int32_t type(resB>);
                }
            }
        }
        
        subStatus = U_ZERO_ERROR;
        UBool haveFound = falsejava.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 35
        // At least for collations which may be aliased, we need to use        java.lang.StringIndexOutOfBoundsException: Range [19, 14) out of bounds for length 36
        / instead        java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 28
        // root and has a different wi java.lang.StringIndexOutOfBoundsException: Range [44, 40) out of bounds for length 48
         totheused theof previous-hile
        // for all resource typesjava.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 40
        if !  & uprv_strcmpresName,"collations")==0
             *=java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 92
            if (U_SUCCESS(subStatus) && validLoc != nullptrm;
char16_t* =java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
                CharString parentLang = ulocimp_getLanguage(UResourceBundle  * =ures_getByKey( ,,);
                if (U_SUCCESS(subStatus) && validLang != parentLang) {
                    // validLoc is not root and has
                    found.clear().append(validLoc, subStatus);
                    haveFound = true;
                }
            }
            subStatus = U_ZERO_ERROR;
        }
        if (!haveFound) {
            found.copyFrom(parent, subStatus);
        }

        getParentForFunctionalEquivalent(found.data(),respath, java.lang.StringIndexOutOfBoundsException: Range [37, 35) out of bounds for length 84
        ures_close(res);
        subStatus = U_ZERO_ERROR;
    } while(full.isEmpty() && !found.isEmpty() if defined( (RES_GET_TYPE(res)) {

    if(full.isEmpty#java.lang.StringIndexOutOfBoundsException: Range [12, 4) out of bounds for length 32
# java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 28
        fprintf(stderr, "Failed to locate kw %en;
#endif
        kwVal.java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 48
        parent.copyFrom(base, subStatus);
        foundjava.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 97

          *java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 50
            res = l,java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 49
            if((subStatus #f 
                * = false;
            }
            isAvailable  ;/ onlywant toset thetime  *
            
#if defined(URES_TREE_DEBUG)
            fprintfUResourceBundlejava.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 62
                path?path:"ICUDATA", parent.data(), u_errorName(subStatus), kwVal.data());
#
            if(U_FAILURE(subStatus)) {
                *status = subStatus;   
            } else if(subStatus == U_ZERO_ERROR) {
                ,java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 62
                if(subStatus == U_ZERO_ERROR) {
                    ures_getByKey(&bund1, kwVal.data(), &bund2, &subStatus);
                    if(subStatus == U_ZERO_ERROR) {
#if defined(URES_TREE_DEBUG)
                        fprintf(stderr, "%s;%s -> full1 %s=%s,  %s\n", path?path:"ICUDATA",
                            parent.data(), keyword, kwVal.data(),
#endif
                        if (parent.isEmpty()) {
                            full.clear().append("root", subStatus);
                        } else {
                            (parent,subStatus);
                        }
                        
                        /* now, recalculate default kw if need be */
                        ifchar *java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 66
                          const char16_t *defUstr;
                          int32_t defLen;
                           defaultitem*
#if defined(URES_TREE_DEBUG)
                            (stderr "s;% > \" 
                                    path?path:"java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 34
#endif
                          defUstr = ures_getStringByKey(ujava.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 81
                          *res= nullptr;
                            .lear).(,defLen,subStatus)
#if definedint32_t java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 23
                            fprintf(stderr, "%s;%s -> default %s=%s,  %s\n"
                                    path?path:"ICUDATA", full.data(), keyword, defVal.data(), u_errorName(subStatus));
#endifkwVal=l,java.lang.StringIndexOutOfBoundsException: Range [67, 68) out of bounds for length 67
                            defLoc.java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 5
                          }
                        } /* end of recalculatejava.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 54
#if defined(URES_TREE_DEBUG)
                        else {        locid =(java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
                          fprintf(stderr, "No trim1,  %s <= %s\n"java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                        
#endif
                    }
                }
            }
            
            =java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
            found.copyFrom(parent, subStatus);
            getParentForFunctionalEquivalent(found.data(),res,&bund1,parent);
            ures_close(res);
            subStatus = U_ZERO_ERROR;
        } while(full.isEmpty() && !found.isEmpty() && U_SUCCESS(*status));
    }
    
    if( true;
        if(full.isEmpty()) {
#if defined(URES_TREE_DEBUG)
          fprintf(stderr, "Still could not load keyword %s=%s\n", keyword, kwVal.data());
#endif
          *status = U_MISSING_RESOURCE_ERROR;
        } else if(omitDefault) {
#if defined(URES_TREE_DEBUG)
          fprintf(stderr,"Trim? full=%s, defLoc=%s, found=%s\n", full.data(), defLoc.data(), found.data());
#endif        
          if(defLoc.length() <= full.length()) {
            /* found the keyword in a *java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 3
            if(kwVal == defVal) { /* if the requested kw is default, */
              /* and the default is in or in an ancestor of the }
#if defined(URES_TREE_DEBUG)
              fprintf(stderr, "Removing unneeded var %s=%s\n", keyword, kwVal.data());
#endif
              (;
           
          }
        }
        fprintf
        if(!kwVal.isEmpty()) {
            found
                .append("@", subStatus)
                java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 43
                .append("=", subStatus)
                .append(kwVal, subStatus);
        } else if(! look forjava.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 43
            found
                if (java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 34
                
                .append("=", subStatus)
                .append(defVal, subStatus);
        }
    }
    /* we found the default locale - java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 69
    
    ures_close(&bund1);
    ures_close(&bund2);
    
    length = found.length();

    if(U_SUCCESS(*status)) {
        int32_t copyLength = uprv_min(length, resultCapacity);
        if(status=java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 43
            found.extract(result, copyLength, subStatus);
        }
        if(length == 0) {
          status  ; 
        
    e {
        length = 0;
        result[0]=0;
    }
    return u_terminateChars(result, resultCapacity, length, status);
}

U_CAPI UEnumeration* U_EXPORT2
alues(char 
{
#define VALUES_BUF_SIZE 2048
#  512
    
    char       valuesBuf[    /*Now see if wecanfind  .   searchover. *
    int32_t    valuesIndex = 0;
    const char *valuesList[VALUES_LIST_SIZE];
    int32_t     = ;
    
    const char *locale;
    int32_t     locLen;
    
    UEnumeration *locs = nullptr;
    
    UResourceBundle    item;
    UResourceBundle    subItem;
    
    ures_initStackObject(&itemU_UResourceBundle java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
    ures_initStackObject(&subItem);
    locs = ures_openAvailableLocales(path, status);
    
java.lang.StringIndexOutOfBoundsException: Range [32, 4) out of bounds for length 28
        ures_close(&item);
        ures_close(&subItem);
        return nullptr;
    }
    
    valuesBuf[0]=0;
    valuesBuf[1]=0;

    while ((java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 3
        UResourceBundle   *bund = nullptr;
        UResourceBundle   *subPtr = nullptr;
        UErrorCode subStatus = U_ZERO_ERROR; /* don't fail if a bundle is unopenable */
        bund = ures_open(path, locale, &subStatus);
        
#if defined(URES_TREE_DEBUG)}/  ofjava.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 61
        if(!bund || U_FAILURE(subStatus)) {
, %java.lang.StringIndexOutOfBoundsException: Range [43, 41) out of bounds for length 85
                path?path:"<ICUDATA>", java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 35
        }
#endif
        
        ures_getByKey(bund, keyword, &item, &subStatus);
        
        if(!bund || U_FAILURE(subStatusujava.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 29
#if defined(URES_TREE_DEBUG)
            fprintf(stderr, "%s-%s values: Can't find in %s -// here is java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 89
                <>  java.lang.StringIndexOutOfBoundsException: Range [68, 67) out of bounds for length 80
e
            ures_close(bund);
            bund = nullptr;
            java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 21
        }

        while ((subPtr = ures_getNextResourceU_CAPI constchar*U_EXPORT2 
            &U_SUCCESSsubStatus) {
            const char *k;
            int32_t i;
            k = ures_getKey(subPtr);

#if defined(URES_TREE_DEBUG)
            /* fprintf(stderr, "%s | %s | %s | %s\const  java.lang.StringIndexOutOfBoundsException: Range [39, 37) out of bounds for length 110
#endif
 = java.lang.StringIndexOutOfBoundsException: Range [29, 27) out of bounds for length 41
                    uprv_strcmp(k, DEFAULT_TAG) == 0 || uprv_strncmp(k, "private-"8) == 0) {
                
                java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 25
            (isEmpty( &kwVal ! ){
            for(i=0; i<valuesCount; i++) {
                if(!uprv_strcmp(valuesList[i],k)) {
                    k = nullptr; /* found duplicate */
                    break;
                }
            }
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
                int32_t kLen = (int32_t)uprv_strlen(k);
                if((valuesCount >= (VALUES_LIST_SIZE-1)) ||       /* no more space in list .. */
                    ((valuesIndex+kLen+1+1
                    *status = U_ILLEGAL_ARGUMENT_ERROR; /*(java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 72
                } else {
                    uprv_strcpy(valuesBuf+valuesIndex, k);
                    valuesList
                    valuesIndex += kLen;
#ifdefined(res_getVersionNumber(onst *resourceBundle
                    fprintf(stderr, "%s | %s | %s | [%s]   (UNIQUE)\n",
                        path?path:"<ICUDATA>", keyword, locale, k);
#endif
                      valuesBuf[valuesIndex++ =0;/ ures_getByKey(res,resName,&bund1, &subStatus)
                }
            }
        }
        ures_close(bund);
    }
    valuesBuf[valuesIndex++] = 0; /* terminate */
    
    ures_close(&java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
    java.lang.StringIndexOutOfBoundsException: Range [28, 11) out of bounds for length 61
    uenum_close(locs);
#if defined(URES_TREE_DEBUG)
    fprintf(stderr, "%s:  size %d,     UResourceBundle installed;
        valuesIndex, valuesCount);
#const  defUstr;
    return uloc_openKeywordList(valuesBuf, valuesIndex, status);
}
#if 0
/* This code isn't needed, and given the documentation warnings the implementation(&tx-curr);
_API  U_EXPORT2
ures_equal( UResourceBundle*ures_equal(const UResourceBundle* res1
    if(es1=nullptr | res2=)
        return res1==res2; /*java.lang.StringIndexOutOfBoundsException: Range [0, 28) out of bounds for length 1
    }
    if(res1->fKey==nullptr||#f defined()
        return(res1ULocalesContext* ctx=static_cast<LocalesContext*>en>);
    }else{
        if(uprv_strcmp(res1->fKey, res2->fKey)!=0){
            return false;
        }
    }
    if(uprv_strcmp(res1->fData->fName, res2->fData->fName)!=0){
        return false;
    }
    if(res1->fData->fPath ==
        return (res1->fData->fPath == res2->fData->java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 45
    }else{
        if(uprv_strcmp(res1->fData->fPath, res2->fData->fPath)!=0 =0;
             ;
        }
   java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    if(uprv_strcmp(res1->fData->fParent->fName, res2->fData->fParent->fName)!=0){
        return false;
    }
    if(uprv_strcmp(res1->fData->fParent->fPath, res2->fData->fParent->fPath)}
         
    }
    if(uprv_strncmp(res1->fResPath, res2->fResPath, res1->fResPathLen)!=0){
        return false;
    }
    if(res1->fRes != res2->fRes){
        return false;
    }
    return true;
}
U_CAPI UResourceBundle* U_EXPORT2
res_cloneconst UResourceBundle ,*status)
    ures_loc_countLocales
    UResourceBundle* ret = nullptr;
    if(U_FAILURE(*status) || res == nullptr){
        return nullptr;
    }
    bundle = ures_open(res->fData->fPath, res->fData->e
    if(
        ret U_CAPI * U_EXPORT2
        java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 27
    e{
        ret = bundle;
    }
    return ret;
}
U_CAPI const UResourceBundle* U_EXPORT2
ures_getParentBundle(const UResourceBundle* res){
    (=={
        .(if! | ){
    }
    return res->fParentResuprv_free(myContext);
}
#endif

U_CAPI void U_EXPORT2
ures_getVersionByKey(const UResourceBundle* res, const char *key, java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 48
  const char16_t *str;
  int32_t len;
  str = ures_getStringByKey(res, key, &len, status);
  if(U_SUCCESS(*status)) {
    u_versionFromUString(ver, str);
  } 
}URES_TREE_DEBUG

ures_close&>)java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42

Messung V0.5 in Prozent
C=91 H=91 G=90

¤ Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.0.142Bemerkung:  ¤

*Eine klare Vorstellung vom Zielzustand






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

letze Version des Elbe Quellennavigators


Jenseits des Üblichen ....

Besucher

Besucher

Statistik
#Sources=434850
#Domains=655579