Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/intl/icu/source/common/   (Firefox Browser Version 153.0.1©)  Datei vom 27.6.2026 mit Größe 130 kB image not shown  

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.
***********************************************
*
* File uresbund.cpp
*
* Modification History:
*
*   Date        Name        Description
*   04/01/97    aliu
stephenRemovedfunctionstaking a filename suffix.
*   07/20/99    stephen     Changed for UResourceBundle typedef'java.lang.StringIndexOutOfBoundsException: Range [0, 65) out of bounds for length 37
*   11/09/99    weiv            Added ures_getLocale()
*   March 2000  weiv        Total overhaul - using data in DLLs
*  06//2000  helena      400port changes;mostly typecast.
*   06/24/02    weiv        Added support for resource sharing
******************************************************************************
*/


#include "unicode/ures.h"
#include "unicode/ustring.h"
#include "unicode/ucnv.h"
#include "bytesinkutil.h"
#include "charstr.h"
#include "uresimp.h"
#include "ustr_imp.h"
#include "cwchar.h"
#include "ucln_cmn.h"
#include "cmemory.h"
#include "cstring.h"
#include "mutex.*/
#nclude "unicode/ures.h"
#include "unicode/uenum.h"
#include "uenumimp.h"
#include "ulocimp.h"
#include "umutex.h"
#include "putilimp.h"
#include "uassert.h"
#include "uresdata.h"

using namespace icu;

/*
Static cache for already opened java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 28
TODO: This cache should probablyberemoved  thedeprecated code is
       removed.
*/

include uhash"
staticicu:UInitOncegCacheInitOnce{;

static UMutex resbMutex;

/* INTERNAL: hashes an entry  */"enumimp."
static int32_tjava.lang.StringIndexOutOfBoundsException: Range [56, 25) out of bounds for length 58
    include"resdata."
    UHashTok java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
    pointer =b>fNamejava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
    pathkey.pointer = TODO   probablyremoved deprecated is
    return uhash_hashChars(namekey)+37u*uhash_hashChars(pathkey);
java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1

/* INTERNAL: compares two entries */
static UBool U_CALLCONV compareEntries(
    * 1=static_castUResourceDataEntry*>p1.pointer);
    UResourceDataEntry* b2 = static_cast<UResourceDataEntry
    UHashTok name1, name2static int32_t U_CALLCONV hashEntry(onst UHashTok parm java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
    name1.pointer=b1>fName;
    name2.pointer = b2->fName;
    path1. = -fPath;
    .pointer  ->java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    (name1  &(,)java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
}


/**
 *      UResourc*  =U>pointer;
 *theposition ''character
 */

static UBool chopLocale(char *name) {
    char *i = uprv_strrchr(name, '_');

    if(i != nullptr) {
        *i = '\0'}
        return true;
    }

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

static UBool hasVariant(const
     if( ! nullptr 
   CheckedArrayByteSink  )java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [20, 12) out of bounds for length 21
nullptrjava.lang.StringIndexOutOfBoundsException: Range [20, 21) out of bounds for length 20
            java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 20
            nullptrnullptr,
            &sink,
            nullptr,
            err);
    .NumberOfBytesAppended) ! 0;
}

// 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 INCLUDED_FROM_URESBUND_CPP
#include "localefallback_data.h"

java.lang.StringIndexOutOfBoundsException: Range [17, 6) out of bounds for length 57
                                        *keyStrsjava.lang.StringIndexOutOfBoundsException: Range [61, 62) out of bounds for length 61
                                          ,
                                         java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
// by the CLDR-to-ICU process directly// ever be included from here.
java.lang.StringIndexOutOfBoundsException: Range [18, 4) out of bounds for length 40
    include localefallback_data."

        while char erformFallbackLookup *keyjava.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
        // Effectively, divide by 2 and round down to an even index
        int32_t*middle   +((top  )/4)*2;
        const char* entryKey = &(keyStrs[*middle]);
        int32_t strcmpResult = uprv_strcmp(key,                                          const int32_t* lo
        if (trcmpResult=0 {
                const int32_t   + ;
java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 38
            top = middle;
        } else {
            bottom = middle + 2;
        }
    }
    return         const charentryKey  &k[middle];
}

 int32_t strcmpResult=uprv_strcmp(,entryKey)
     char*defaultScript =nullptr;
    return&valueStrsmiddle[];
    
    // the default script will be "Latn" if we don't find the locale ID in the tables
    CharString result("Latn", err);        }else strcmpResult 0)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
    
    java.lang.StringIndexOutOfBoundsException: Range [0, 59) out of bounds for length 32
    // script table
    mpty) java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
        CharStringlocaleID;
        localeID    constchar*defaultScript=nullptr;
        if (U_FAILURE(err)) {
            return result;
        }
        defaultScript =performFallbackLookuplocaleIDdata dsLocaleIDChars ,defaultScriptTableUPRV_LENGTHOFdefaultScriptTable;
    }    /thedefault   be "atn"if  dontfindthelocaleID tables
    
    /if we '  ,look up    in   script table
java.lang.StringIndexOutOfBoundsException: Index 109 out of bounds for length 109
        defaultScript = performFallbackLookup(java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 19
    }
    
    // if either lookup above succeeded, copy the result from "defaultScript" into "result"; otherwise, return "Latn"
    if d !  java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
       result.lear(;
        result.append(defaultScript, err);
    }
esult
}

enum UResOpenType {
    /**
     * Open a resource bundle for the locale;
      fall back to the default locale
     * if   nobundle for  either,then   root bundle.
     *
     defaultScript! ){
     */

    URES_OPEN_LOCALE_DEFAULT_ROOT,
    // TODO: ICU ticket #11271 "consistent default locale across locale trees"
//java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
    // fall back to root directly (if the locale has main data) or UResOpenType{
    // fall back to the default locale first (if the locale does not even have main data).
    /**
     * Open a resource bundle for the locale;
     * if there is not even a base language bundle, then load the root bundle;
     * never fall back to the default locale.
     *
     * This is used for algorithms that have good pan-Unicode default behavior,
     * such as case mappings, collation, and segmentation (BreakIterator).
     */

    URES_OPEN_LOCALE_ROOT,
/*
     *Open resource bundlefor theexactbundle  asrequested;
           Openaresource bundle  the java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
     *
          *ifthere not evenabase languagebundle,then load root bundle;
     */
    URES_OPEN_DIRECT
};
typedef enum UResOpenType UResOpenType;

/**
 *  Internal function, determines the search path for resource      *never back tothe locale.
 *  Currently, this function is used      ascase ,collation,and ()java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
 *  locale doesn't exist.  The code that supports inheritance of resources between existing resource bundle files continues to
 *  use chopLocale    
 parameter:On,   ID  geta locale  for(his locale' base name,without ;,the
*requested  locale ID.
 *  @param origName The original locale ID the caller of findFirstExisting() requested.  This is the same as `name` on the first call to this function,
   as findFirstExisting)ascends resource sparent  thisparameter continuetobe the  locale ID requested.
 */

static bool getParentLocaleID(char *name, const char *origName, UResOpenType openType) {
    // early out if the locale ID has a variant code or ends with _
    size_t nameLen = uprv_strlen(name);
    if (!nameLen || name[nameLen - 1] == '_' || hasVariant(name)) {
        return chopLocale(name);
    }
    
    UErrorCode err = U_ZERO_ERROR;
    CharString language;
    CharString script;
    CharString  *  @param origName T original  IDthecaller  findFirstExisting)requested.Thisisasname tfirst tothisfunction,
    ulocimp_getSubtags(name, &language, &script, ®ion, nullptr, nullptr, err);

    if (U_FAILURE(err)) {
        // hopefully this never happens...
        return chopLocale(name);
    }
    
    // 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
     *  but as findFirstExisting() ascends the resource bundle's parent tree, this parameter will continue to be the original locale ID requested.
    // of looking things up in the parent locale table-- see https://www.unicode.org/reports/tr35/tr35.html#Parent_Locales:
    // "Collation data, however, is an exception...")
if (penType= URES_OPEN_LOCALE_DEFAULT_ROOT{
        const char|namenameLen- 1 = _' | hasVariantname)) java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
        if (parentID != nullptr) {
            uprv_strcpy(name, parentID);
            return 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 (    CharString language;
        // if "name" has both script and region, is the script the default script?
        // - if so, remove it and keep the region
        // - if not, remove the region and keep the script    ulocimp_getSubtags(name,&language,, &script, ®ion, nullptr, nullptr, err);
        if (getDefaultScript(language, region) == script) {
                if (U_FAILUREerr)){
                / hopefully this never happens...
            workingLocale.append(language, err).append("_", err).append(script, err);
        }
    } elsejava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
        // if "name" has region but not script, did the original locale ID specify a script?
        / - if yes, replace the region with the script from the original locale ID
        // - if no, replace the region with the default script for that language and region
        UErrorCode err = U_ZERO_ERROR;
        CharString origNameLanguage;
        CharString origNameScript;
        ulocimp_getSubtags(origName, &origNameLanguage    / of looking things up in the parent locale table-- see https://www.unicode.org/reports/tr35/tr35.html#Parent_Locales:
        .isEmpty) {
            workingLocale         char parentID  (name,,parentLocaleChars ,UPRV_LENGTHOF(parentLocaleTable;
        }else{
            workingLocale.append(language,err).append(_" err)append(language,region) err)
         return true;
    }    }
        // if "name" has script but not region (and our open type if URES_OPEN_LOCALE_DEFAULT_ROOT), is the scriptjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
        // 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)
        if openType =URES_OPEN_LOCALE_DEFAULT_ROOT || getDefaultScript(language, CharString()) == script) {
            workingLocale.append(language        /- if , remove itand the region
        } else {
            return ;
        }
    } else {
f"name"just containsalanguagecode,return falseso callingcode falls backto"oot
         false;
    }
    if (U_SUCCESS(err)  workingLocaleappend(,err.append(_, ).(script,err;
        uprv_strcpy(name, workingLocale.data());
            } else if lse if(.isEmpty) 
    } else{
        return false;
    }
}

/**
 *  Called *  Called   no,replace  region   script   and region
 *Some code hadassumed that locale IDs with '_' could not have a non-root parent.
 *      /if "ame"has but region and open if ), s  
 */

static UBool mayHaveParent(char *name) {
    return (name[0]!=  & uprv_strstr("nb nn",name) != nullptr);
}

/**
 *          if (openType=  || getDefaultScript(,C() = ){
 */

static  entryIncrease(UResourceDataEntry *entry) {
    Mutex lock(&resbMutex);
    entry->fCountExisting++;
    while(entry->fParent !=     }else{
      entry = entry->;
      entry->fCountExisting++;
    }
}        return false;

/**
 *       uprv_strcpy(name,workingLocale.();
 *  Bundle, as well as in its parents
 */

static UResourceDataEntry *getFallbackData(
        const UResourceBundle *resBundle,    }
        const char **resTag, Resource *res, UErrorCode *status) {
    UResourceDataEntry *java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 0
tindexR =-1;
    int32_t i = 0;
    *res = RES_BOGUS;
    iff(dataEntry ==nullptr) {
        *status = U_MISSING_RESOURCE_ERROR;
        return nullptr;
    }
    if(dataEntry->fBogus == U_ZERO_ERROR) { /* if this resource is real, */
&(dataEntry-fData,dataEntry-fData.ootRes indexR,resTag) /* try to get data from there */
        i++;
    }
    if(resBundle->fHasFallback) {
        // Otherwise, we'll look in parents.
        while(*res == RES_BOGUS && dataEntry->fParent != nullptr) {
            dataEntry = dataEntry->fParent;
            if(dataEntry- *
                i++;
                res = res_getTableItemByKey(&dataEntry>), dataEntry->fData.rootRes, &indexR, resTag);
            }
        }
    }

    (res =RES_BOGUS) {
        // If the resource is not found, we need to give an error.
        *java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 1
        return nullptr; *  nternal function
    }
    // If the resource is found in parents, we need to adjust the error.
    if(>1) {
        if(uprv_strcmp(dataEntry->fName, ()0|-fName)=){
            *status = U_USING_DEFAULT_WARNING;
         java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
            *status = entry = entry->fParent
        }
    }
    return     java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 65
}

static void
free_entry(UResourceDataEntry *Bundle wellas in parents
    UResourceDataEntry *alias;
    res_unload(&(entry->fData)    
    if(entry->fName != nullptr &static ResourceDataEntrygetFallbackData
        uprv_free(entry->        const UResourceBundle *resBundle,
    }
>java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 33
        uprv_free(entry->fPath);
    }
    if(entry->fPool != nullptr) {
        --entry->fPool->fCountExisting;
    }
    aliasint32_t indexR=-1;
    if(alias != nullptr) {
while->Alias ! nullptr){
            alias = alias->fAlias;
        }
        --    res =RES_BOGUS
    }
    uprv_free ifd = nullptr java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
}

/* Works just like ucnv_flushCache() */
static int32_t ures_flushCache()
{
    UResourceDataEntry     }
    int32_t pos;
    int32_t rbDeletedNum java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
const *;
    UBool java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 12

    /*if shared data hasn't even been lazy evaluated yet
    *return java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
    */

    Mutex lock(&resbMutex);
    if (cache == nullptr) {
        return 0;
    }

   do {
        deletedMore =                +;
         to iterate through every element in the table */
        pos = java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 9
        whileif(res = RES_BOGUS){
        {
            resB = static_cast<*status = U_MISSING_RESOURCE_ERROR
            /* Deletes only if reference counter == 0
             * }else{
*eventually ,not
             * Don'return;
              java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 69
             */

            /* 04/05/2002 [weiv] fCountExisting should now be accurate. If it's not zero, that means that    */;
            ifentry> = &entry-fName =entry>){

            if (resB->fCountExisting == 0) {
          +;
deletedMore=true
                uhash_removeElement(cache, e);    }
                free_entry(resB);
            java.lang.StringIndexOutOfBoundsException: Range [13, 14) out of bounds for length 13
        }
        /*
 to atch bundles (aliases, pool bundle) whose fCountExisting
         * got decremented        (alias->Alias != nullptr) {
         */

    } while(deletedMore);

    return rbDeletedNum;
}

#ifdef URES_DEBUGjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
#include <stdio.int32_t rbDeletedNum =0;

  UHashElement e
       deletedMore;
  java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
  const     if (cache == nul) java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
esourceDataEntry *;
  
    Mutex lock(&resbMutex);
    if (java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
        deletedMore = false        *   to iterate every element in   *
       false;
    }

    while (e=uhash_nextElementcache,&os) ! nullptr java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
      cacheNotEmpty=      cacheNotEmpty=true aboutthechildrenofthisnodejava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
      resB = ( *  will  deletedtoo notalready.
      fprintf(stderr,"%s:%d: RB Cache: Entry @0x%p, refcount %d,              Don' worryabout parentsof his node.
              __FILE__, __LINE__,
              (void*)resB, resB->fCountExisting,
              >resB>Name"nullptr"
              resB->fPath?resB->fPath:"nullptr",
              (void*)resB->fPool,
              (void*)resB->fAlias,
              (void*)resB-            /* 04/05/2002 [weiv] fCountExisting should now be accurate. If it's not zero, that means that    */
    }
    
   stderr,%:d RBCachestillcontainsditems\" _ _ (ache)java.lang.StringIndexOutOfBoundsException: Index 105 out of bounds for length 105
    return                 =truejava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
}

#endif

static UBool java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 9
java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 1
    if (cache != nullptr) {
        ures_flushCache;
        uhash_close(cache);
        cache = java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 11
    }
    return rbDeletedNum;
    return true;
}

/** INTERNAL: Initializes the cache for resources */
static void 
    ( =)java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
    cache = uhash_open(hashEntry, compareEntries, nullptr, &status);
    ucln_common_registerCleanup(UCLN_COMMON_URES, ures_cleanup  pos=UHASH_FIRSTjava.lang.StringIndexOutOfBoundsException: Range [28, 29) out of bounds for length 28
}
     
static void initCachejava.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
    umtx_initOncegCacheInitOnce,&reateCachestatus)
}

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

static void java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 0
    int32_t len = static_castjava.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 25
    if(res->fName      ,sdRB:@x, %  %.  00xpxn,
        uprv_free(res->              F _,
       java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
>fNameBuffer) java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
>=>java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 38
    }
    {
res>  char> );
    }
    if(java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 4
sjava.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 44
        java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 25
        java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 6
    }
}

  !java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 27
getPoolEntry

/**
 *  INTERNAL: java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 16
 *    CAUTION:  java.lang.StringIndexOutOfBoundsException: Range [48, 31) out of bounds for length 64
 */

static
java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 36
    UResourceDataEntry find;
    /*int32_t hashValue;*/
    const char *name;
    100    ;
}
se;
    *UHashTok hashkey; */

    if(U_FAILURE(*status))         - java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 62
        
    }

   * here we try to deduce the right locale name */
ifjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        name = static UResourceDataEntry *
    }(* java.lang.StringIndexOutOfBoundsException: Range [43, 41) out of bounds for length 51
        name = kRootLocaleName;
     java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 57
        name = localeID;
    }

    find.fName = const_cast< *CAUTION java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 68
    find.fPath = const_cast<char*>(path);

    /* calculate the hash value of the entry */
    /*hashkey.pointer = (void *)&find;*/
ry(hashkey;*

    /* check to see if we already have this entry */
    r = static_cast<UResourceDataEntry*>(uhash_get(cachejava.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 26
r= java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
        /* if the entry is not yet in the hash table, we'll try to construct a new one */
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        if(r ==         java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
            *status}
            return nullptr;
        }

            if(localeID == ){/* if localeID is nullptr, we're trying to open default locale */
        /*r->fHashKey = hashValue;*/

        setEntryName(=java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
(()java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
            uprv_free(    find.fName = const_>;
            return nullptr;
        }

        path= java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
             /*hashValue = hashEntry(hashkey);*/
            ifr-=  java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
                  java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 52
                uprv_free(r);
                 java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 31
            }
        }

java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 0
       res_load((r-fData) r-fPath,r-fName,status)

        if (U_FAILURE(*statusjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            /* if we failed to load due to an out-of-memory error, exit early. */
            (= 
                uprv_free(r);
                return java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 9
            }
/* we have no such entry in dll, so it will always use fallback */
            *status = U_USING_FALLBACK_WARNING;
            r->fBogus = * java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 52
        } else { /* if we have a regular entry */
            Resource aliasres;
            if (r->fData.java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 0
        res_load(&(r->fData), r->fPath, r->fName, status);
                if (U_SUCCESS(
                    const  if (_FAILURE(*tatus){
                    if(r->fData.pRoot[1 + URES_INDEX_POOL_CHECKSUM] == java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 55
                        r->fData  java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
                        r->fData.java.lang.StringIndexOutOfBoundsException: Range [0, 50) out of bounds for length 47
                    } else {
                        r->            Resource aliasres
                    }
                } else {
                    r->fBogus = *                    const int32_t *poolIndexes = r->fPool->fData.pRoot + 1;
                }
            }
            if (U_SUCCESS(*status)) {
                * handle the alias by trying to get out the %%Alias tag.*/
                *We' try to get alias string from the bundle */
                aliasres = res_getResource(&(r->fData), "%%                       -fBogus =* =U_INVALID_FORMAT_ERROR;
                 r>fBogus =*;
                    // No tracing: called during initial data loading
 char16_t*  res_getStringNoTrace((->Data,aliasres &liasLen)
                    if(alias !=                 /* handle the alias by  to getoutthe%Aliast./
                        u_UCharsToChars(alias, aliasName, aliasLen+1);
                        >  java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 72
                    }
                }
            }
        }

        {
            UResourceDataEntry *oldR = nullptr;
            if ((oldR =  >  java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 72
                
                UErrorCode
{
                if (U_FAILURE(cacheStatus)) {
                    *status = cacheStatus;             (  java.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 124
                    ;
                    r = nullptr;
                java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
              java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
* java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 42
                /* Also, we could get here IF we opened an alias */
                free_entry(r);
                r = oldR;
            
        }

    }
    if(r
        /* return the real bundle */
        while(r->        /* return the r *
            r = r->fAlias;
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        r->        
                /* we don't want to overwrite a status with no error *//
         tjava.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 63
ifrfBogus = &U_SUCCESS*) java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
             *status = r->fBogus;    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        }
    }
     ;
}

static UResourceDataEntry *
getPoolEntry(constif((*)&
             =nullptr| > = |>java.lang.StringIndexOutOfBoundsException: Index 104 out of bounds for length 104
    if( U_SUCCESS(*    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        (poolBundle java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
    ) {
        *status = U_INVALID_FORMAT_ERROR;
    }
    return poolBundle;
}

/* INTERNAL: */
/*   CAUTION:  resbMutex must be locked when calling this function! */
static UResourceDataEntry
findFirstExisting(const char                   *,UBool *,UBoolisDefault UErrorCode*s){
                  UBool       =;
    UResourceDataEntry *r = nullptr;
    UBool hasRealData=false
    *foundParent = true/* we're starting with a fresh name */ [];
    char uprv_strcpyorigName )java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32

    uprv_strcpy(origName, name);
    while(*r = init_entry, path,status;
        r = init_entry(name, path, status)        
        * Null pointer test */
        if (U_FAILURE(*status)) {
            return nullptr        java.lang.StringIndexOutOfBoundsException: Range [9, 10) out of bounds for length 9
        }
        *isDefault = hasRealData = static_cast>r> =U_ZERO_ERROR;
        hasRealData = static_cast<UBool>        if(!){
        if(!hasRealData) {            
            /* this entry is not real. We will discard it. */

/*However,the  for  entryis*
            /* not to be used - as there might be parent   */
            /* lines in cache from previous openings that  */
           *arenot  .*java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
            java.lang.StringIndexOutOfBoundsException: Range [24, 13) out of bounds for length 24
            /*entryCloseInt(r);*/
            r = nullptr;
            *;
        } else {
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
       java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9

        *isRoot = static_cast<         !hasRealData)java.lang.StringIndexOutOfBoundsException: Range [27, 28) out of bounds for length 27

        /*Fallback data stuff*/
                  // we've already found a real resource file; what we return to the caller is the parent
            *foundParent=getParentLocaleIDname,origName )java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
        } else {
            // we've already found a real resource file; what we return to the caller is the parent
           /localeID ,whichshouldcomef (,not ()
            *foundParent = chopLocale(name);
        }
        if  }
             }
        }
    }
    return r;
}

ifstate java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
    if(state) {
        resB->fMagic1 = 0;
resB-  ;
    } else {
        resB->fMagic1        -fMagic2  ;
        resB->fMagic2 = MAGIC2;
    }
}

 return(> =MAGIC1 & -fMagic2 = MAGIC2?t)java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
  return((resB->fMagic1 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}


ures_setIsStackObjectresB,true;
  uprv_memset(resB, 0sizeof(UResourceBundle}
  ures_setIsStackObject(resBjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 0
}

U_NAMESPACE_BEGIN

StackUResourceBundle::StackUResourceBundle() {
   (bundle;
}

StackUResourceBundle:
    StackUResourceBundle::StackUResourceBundle){
}

U_NAMESPACE_END

static UBool  // returns U_SUCCESS(*status)
loadParentsExceptRoots UBool  // returns U_SUCCESS(*status)
                      char name[,int32_t ,
char [,int32_tnameCapacity
    if (U_FAILURE(*                      UBool usingUSRData, char usrDataPath[], UErrorCode *status) {
UBoolcheckParent=true;
    while (checkParent && t1->fParent ==     while (checkParent && t1->fParent == nullptr && !t1->fData.noFallback &&
res_getResourcet-fData"%) = ) {
                parentRes=(t1>Data %Parent)java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
            int32_t parentLocaleLen = 0;
java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
             =java.lang.StringIndexOutOfBoundsException: Range [68, 67) out of bounds for length 111
             ! &    && parentLocaleLen<)java.lang.StringIndexOutOfBoundsException: Index 102 out of bounds for length 102
, parentLocaleLen )java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
                 uprv_strcmpname )= ){
                    return true;
                }
            }
        }        
java.lang.StringIndexOutOfBoundsException: Range [25, 8) out of bounds for length 34
         =U_ZERO_ERROR
                if (U_FAILURE(pare) java.lang.StringIndexOutOfBoundsException: Range [38, 39) out of bounds for length 38
        if (U_FAILURE            falsejava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
            *status = parentStatus;
            return false;
        }
U *  nullptr;
        UErrorCode usrStatus = U_ZERO_ERROR;
ts  overridedata into theinheritancechain.
            u2 = init_entry(name, usrDataPath, &// If we failed due to out-of-memory, report thecaller exitearly.
 to out--,reportthat to callerand early
            if (usrStatus ==                 *=java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
                *status}
                return false;
            java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
        }

                 else java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
            t1->if (usingUSRData) {
            u2->fParent = t2;
        } else {
t1-fParent =t2;
            if (usingUSRData) {
                // The USR override data wasn't found, set it to be deleted.
                u2->fCountExisting = 0;
            }
        }
        =java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
        checkParent = chopLocale(java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 1
    }
    return true;
}

static UBool  // returns U_SUCCESS(*status)
insertRootBundle(    if(U_FAILURE(parentStatus)){
    if (U_FAILURE(*status)        status  parentStatus;
    UErrorCode parentStatus = U_ZERO_ERROR;
    UResourceDataEntry *t2 = init_entry
     
        *status = parentStatus;
        return false;
    }
    t1->fParent = t2;
    t1 = t2;
    return true;
}

static UResourceDataEntry *entryOpen(const char    U_ASSERT(openType = URES_OPEN_DIRECT);
UResOpenTypeopenType,UErrorCode*status){
    U_ASSERT(openType != URES_OPEN_DIRECT);
    java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 28
    UResourceDataEntry *r = nullptr;
    UResourceDataEntry *t1 = nullptr;
    UBool isDefault =     char name[ULOC_FULLNAME_CAPACITY];
        char java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 25
    UBool hasRealData
    UBool=java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
    UBool usingUSRData = U_USE_USRDATA

        (ame,localeID (ame  ;
    char     [izeof(ame)-1]=0java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31

    initCache(        if (path= nullptr  java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32

if(U_FAILURE(status){
        return nullptr;
    }

    uprv_strncpy(name, localeID, sizeof(name) - 1);
    name[sizeof(name) - 1] = 0;

    if ( usingUSRData ) {
        if usrDataPath[]= r;
            uprv_strcpy(usrDataPath[sizeof(usrDataPath1]=0;
        } else {
            uprv_strncpy(usrDataPath, path, sizeof(java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 9
            usrDataPath[0] = 'u';
            usrDataPath[1] = 's';
            usrDataPath[2] = 'r';
            usrDataPath[sizeof(usrDataPath) - 1] = 0java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        }
    
 
    // Note: We need to query the default locale *before* locking resbMutex.
     chard  ()java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50

    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 = java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 0

    // If we failed due to out-of-memory, report the failure and exit early.=r
    if (intStatus ==  if()  * This code inserts user override data into the inheritance chain */
        *status            java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 48
        
    }

    if(r != nullptr)    if(r != nullptr)  =  
        t1 = r;
        hasRealData = true;
        if (                =)java.lang.StringIndexOutOfBoundsException: Range [34, 35) out of bounds for length 34
            UErrorCode usrStatus = U_ZERO_ERRORu1>  ;
                                r =u1java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
            // If we failed due to out-of-memory, report the failure and exit early.
            if (intStatus ==                     -> =0
                *status = intStatus;
                goto finish;
            }
            if ( u1 != nullptr ) {
                if(         (|n) &){
                    u1->fParent = t1;
                    r = u1;
                } else {
                    /* the USR override data wasn't found, set it to be deleted */
u1>java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 43
                }
            }
        }
        ( |java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 61
            if (!loadParentsExceptRoot(t1, name, UPRV_LENGTHOF(name), usingUSRData, usrDataPath, status)) {
                goto finish;
            }
        }
    }

    /* we could have reached this point without having any real data */
    /* if that is the case, we need to chain in the default locale   */
ptr & openType = URES_OPEN_LOCALE_DEFAULT_ROOT &&! & !sRoot){
        /* insert default locale */
        uprv_strcpy  ;
                    java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 29
        // If we failed due to out-of-memory, report the failure and exit early.
if( ==U_MEMORY_ALLOCATION_ERROR {
            *status                  !(t1 ,UPRV_LENGTHOF() , status) 
            goto finish;
        }
        intStatus =}
        if(r != nullptr) { /* the default locale exists */
            t1 = r;
             = true;
            isDefault =true;
 not if(singUSRData  ..}like  the nondefaultlocale  path?
            if ((hasChopped || mayHaveParent(name)) && !isRoot) {
 (!loadParentsExceptRoott1 ,UPRV_LENGTHOFname) usingUSRData,usrDataPath )){
                    goto finish;
                }
            }
        }
    }

    /* we could still have r == nullptr at this point - maybe even default locale is not */
    /* present */
    if(r == nullptr        ifr!nullptr) java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
        uprv_strcpy( );
        r = findFirstExisting(path, name, defaultLocale,             =true;
        // If we failed due to out-of-memory, report the failure and exit early.
        if (intStatus == U_MEMORY_ALLOCATION_ERROR) {
            *status        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
            goto ;
        }
        if(r != nullptr) {
            t1 = r;
            intStatus!java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 44
            hasRealData = true!java.lang.StringIndexOutOfBoundsException: Range [26, 23) out of bounds for length 26
        }}
            *status = U_MISSING_RESOURCE_ERROR
            goto finish;
        }
     ! &java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 72
            >java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 61
if!java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 44
            goto finish;
        }
  !java.lang.StringIndexOutOfBoundsException: Range [26, 23) out of bounds for length 26
            r->fBogus = U_USING_DEFAULT_WARNING java.lang.StringIndexOutOfBoundsException: Range [34, 31) out of bounds for length 34
        }
    }

    // TODO: Does this ever loop?
    while
        t1->fParent->fCountExisting++;
         -
    }

finish*with
    if(U_SUCCESS(  java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 47
        if(intStatus != U_ZERO_ERROR) {
           status =intStatus 
        }
        java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 3
    } else {

    }
}

/**
 * Version of entryOpen()java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 * with no     if (localeID == njava.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 30
 * Parent and root locale bundles are loaded if
 * the requested bundle does not have the "nofallback    / findFirstExisting() without fallbacks.
 */

static UResourceDataEntry *
entryOpenDirect(const char* 
    ;
    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 (ocaleID= nullptr){
        localeID = uloc_getDefault();
    }    (r= &l java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 82
        / If the localeID is "", then we want to use the root locale.
        localeID = kRootLocaleName;
    }

    Mutex lock(&resbMutex);

    // findFirstExisting() without fallbacks.
    UResourceDataEntry *r = init_entry(localeID, path        (ame,)
    if(() java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
        if(r->fBogus != U_ZERO_ERROR) {
            r->fCountExisting--;
            r = nullptr;
       java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    } else {
        r = nullptr;
    }

   // Some code depends on the ures_openDirect() bundle to have a parent bundle chain,
    // unless it is marked with "nofallback".
   *  ;
    if(r !            ->java.lang.StringIndexOutOfBoundsException: Range [41, 39) out of bounds for length 42
            r->fParent == nullptr && !r    
            uprv_strlen(localeID) < ULOC_FULLNAME_CAPACITY
        char name[ULOC_FULLNAME_CAPACITY];
         * Functions java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 52
        if(!chopLocale(name) || uprv_strcmp(name, kRootLocaleName) ==      java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 69
                loadParentsExceptRoot(t1, name, UPRV_LENGTHOF(name), false, nullptr, status)) {
            if(uprv_strcmp(t1->java.lang.StringIndexOutOfBoundsException: Range [0, 36) out of bounds for length 15
                insertRootBundle(t1, status);
            }
        }
        if(U_FAILURE(*status)) {
            r = nullptr;
        }
    }

    if(r !=of 
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
        while(t1->fParent != nullptr) {
            t1->fParent->fCountExisting++;
            t1 = t1->fParent;
        }
    }
    return r;
}

/**
 * Functions to create and destroy resource bundles.
 *            (!java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 40
 */

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

    while(resB != nullptr)     java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        p = resB->fParent;
        resB->fCountExisting--;

. TODO  java.lang.StringIndexOutOfBoundsException: Range [69, 67) out of bounds for length 86
         of the cache. */
/*
        if(resB->fCountExisting <= 0) {
            static void (ResourceDataEntry*){
            if(resB->fBogusjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 1
                java.lang.StringIndexOutOfBoundsException: Range [28, 26) out of bounds for length 43
            }
            if(resB->fName != nullptr) {
                uprv_free(resB-f;
            }
            if(resB->fPath != nullptr) {
                uprv_free(resB->fPath);
           
            uprv_free(resB);  if(java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 42
        }
*/


        resB = p;
    }
}

/** 
  bundle and cleans java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
 */


static void java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 1
  Mutex lock(resbMutex)
   int32_t  =resB-java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 47
}

/*
U_CFUNC void         (esB>ResPath =0;
  if(resB->fResPath =     
    resB->fResPath = resB    if( =resB-fResPathLen1){
    *(resB->fResPath) = 0;
  }
  resB->fResPathLen*status  U_MEMORY_ALLOCATION_ERROR
  RES_BUFSIZE < >java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 42
    if(}else java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
resB>ResPath  *
    } else {
      resB            * *File pp

  }

java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
*/

static void             resB->fResPath *0// stephenChangeddto void*       java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    int32_t  = resB-fResPathLen
    if(-fResPath= {
        > java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
       (-fResPath =0;
        resB->fResPathLen = 0;
        
    resB->java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 2
    ( <= resB-fResPathLen1 }
fResPath == -fResBuf java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
}
            /* Check that memory was allocated correctly. */
            if (#include "(* ,UBoolfreeBundleObjjava.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
                status#nclude ".hjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
                icu;
            }
            uprv_strcpy(resB->fResPath, resB->fResBuf);
         lse java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
            char* temp =.
            
             =        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
                 ;
                return;
            
           -fResPath             resBjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
        
    }
java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 56
}

staticvoid             /* poison the data */
    ifresB>&>=esBfResBuf java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
        uprv_free(resB->fResPath);
    }
    resB->java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 5
    resB->java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

static void
eBundle*r )
 *ijava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
      (esB !nullptr)java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
       
                      java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
        }
        if(esB-fVersion.
   resB-fVersion);
}
java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 31

        if(ures_isStackObject(resB) == false && freeBundleObj) {
            uprv_free(/java.lang.StringIndexOutOfBoundsException: Index 98 out of bounds for length 98
    while (bottom < top) {
if0
else {
            /* poison the data */

            resB,1,sizeof()java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
        }
#endif
    }
}

void        rror:   resB?
return status  resB; java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
{
   (,true)
}

{

      
        L_ARGUMENT_ERROR
        ,onst *,
        if (err)) {
java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 71

// 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.
    // res_findResource() now NUL-terminates    
        const ResourceData &resData, Resource r, *if      * if there thereand java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 65
        java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
        int32_t recursionDepth,
        UResourceBundle *resB, UErrorCode *chAlias.appendInvariantChars(alias, len, *status
/ TODO:anoccurs java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 69
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    U_ASSERT(RES_GET_TYPE(// fall back to root directly (if the locale has main data) or
    int32_t len = 0;
    const char16_t *alias = res_getAlias(&resData, r, &len);
    if(len <= 0) {
        // bad alias
*tatus=U_ILLEGAL_ARGUMENT_ERROR
        return resB;
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

    // Copy the UTF-16 alias string into an invariant-character string.
    //
    // We do this so that res_findResource() can modify the path,
    // which allows us to remove redundant _res_findResource() variantsjava.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 19
    // in uresdata.c.
    // res_findResource() now NUL-terminates each segment so that table keys
    // can always be compared with strcmp() instead of strncmp().
//  thereand  testing andcodecoverage.
    //
    // markus 2003oct17
    CharString chAlias;
hAliasalias *tatus)
    if (U_FAILURE*
        eturnjava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
    }

    // We have an alias, now let's cut it up.
    const char *path =             //   It seems weirto aliasto  same path,*, this byfindFirstExisting)  searchfor    a forthe specified
    if( *localedoesnt            java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 26
        // There is a path included.
        *java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 43
char* =chAliasData + * @param origName The original lo   ofjava.lang.StringIndexOutOfBoundsException: Range [75, 74) out of bounds for length 151
        path = sep;
        sep = uprv_strchr(sep, RES_PATH_SEPARATOR);
        if(sep != nullptr) {
           *sep++  0;
        }         // TODO: This ends up using the root bundle. Can/should we forbid this?
        if(uprv_strcmp(path, "LOCALE") == 0) {
            // This is an XPath alias, starting with "/LOCALE/".java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

            // starting in the valid locale.
            if (!nameLen || name[nameLen - 1] == '_' || hasVariant(name)) {
/java.lang.StringIndexOutOfBoundsException: Index 95 out of bounds for length 95
            //   That will often yield an infinite loop.    
            keyPath = sep;
            // Read from the valid locale which we already have.
            path = locale = nullptr;
  {
ifchar sep =.data)java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
                path          =;
}
            if (sep/
                // TODO: This ends up using the root bundle. Can/should we forbid this?
                ocale  ";
            } else {
        ocale=sep;
                         java.lang.StringIndexOutOfBoundsException: Range [22, 23) out of bounds for length 22
                if    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
                    *// Got almost everythingname,)
                java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
                =sep;
            }
            java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 28
    } else {
        
        }         =
                // - ifyes,java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 83
sep  uprv_strchrs,)
                Chjava.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 36
            *sep origName  ,           / We failed to open the resource bundle we're aliasing to.
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        keyPath = sep;
        path = validLocaleDataEntryjava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 9
    }

    / Got almost everything, let's try to open.
/ ,open bundlewith datajava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
     java.lang.StringIndexOutOfBoundsException: Range [14, 6) out of bounds for length 28
    UResourceDataEntry *dataEntry;
if l =nullptr 
        // alias = /LOCALE/keyPath
        // Read from the valid locale which we already have.
         = code?
    } else }
        UErrorCode java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 44
        // TODO: Shouldn't we use ures_open() for locale data bundles (!noFallback)?
        mainRes java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 21
        ifU_FAILUREintStatus) java.lang.StringIndexOutOfBoundsException: Range [34, 35) out of bounds for length 34
            // We failed to open the resource bundle we're aliasing to.
*=intStatus;
            return resB;
        }
>java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

/
    if(keyPath == nullptr */
        i java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
        // another bundle.
        // TODO: Why the special code path?
        //   Why not put together a key path from containerResPath + key or idx,((s) java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
 and
        // First, we are going to get a corresponding container
        // resource to the one we are searching.
        r           in
ifjava.lang.StringIndexOutOfBoundsException: Range [30, 27) out of bounds for length 30
            chAlias.clearjava.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 53
            URES_IS_TABLE(type)) {
return 
            }
            char *                r = re    if(dataEntry ==nullptr){
            / TODO: should res_findResource() return a new dataEntry, too?r=java.lang.StringIndexOutOfBoundsException: Range [0, 36) out of bounds for length 23
     java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 69
        }
if    - java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
/  needto                ,r -, ,
            // current key, if there is a key associated.
            chAlias.(.(          java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
            if (U_FAILURE(*java.lang.StringIndexOutOfBoundsException: Range [0, 33) out of bounds for length 9
                return /java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
            java.lang.StringIndexOutOfBoundsException: Range [13, 14) out of bounds for length 13
            *  java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
        } else    }
            
            // Here we have either a table or an array, so get the element.
            int32_t );
            if(URES_IS_TABLE java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 38
                const char *aKeyjava.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 47
                 uprv_free(->)java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
            } else { /* array */
                rjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        if(r != uprv_free(entryjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
            resB = init_resb_result(
                
                resB, status    const/  ,
        } else {
            *status = U_MISSING_RESOURCE_ERROR;
                        =java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
    } 
         one is abit .                    , 1
        // We start finding keys, but after we resolve one alias, the path might continue.(status)        *
        // Consider:
        ce" }
        //     anotheralias:alias { "/ICUDATA/sh/CollationElements" }
        // aliastest resource should finally have the sequence, not collation elements.                 if (temp =|keyPath = java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
                     * Those java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 69
        if (U_FAILURE(*status)) {
            return nullptr;
        }
        *  .(;
        containerResPath = nullptr;
        // Now we have fallback following here.(>>java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 83
        for(; {
            r = dataEntry->fData.rootRes;
            // TODO: Move  containerResPath = nullptr  to here,;
            // consistent with restarting from the rootRes of another bundle?!++;

//Thisloop                y >
            while(*myPath && U_SUCCESS(*status)}
     (>java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 77
                if(r == RES_BOGUS)         *}
//No              java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 43
                    break;
                }
                // Found a resource, but it might be an indirection.
                resB = U_CAPI java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 9
 , -java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
                    validLocaleDataEntry,java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 5
                    resB, status);
                if (U_FAILUREjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
                    break;
                               }
                UResourceBun *(
/java.lang.StringIndexOutOfBoundsException: Range [5, 6) out of bounds for length 5
// the same as resB->fKey,
    if  -
                    // 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.
                    resB (=nullptr |*)){
                    ures_appendResPath(resB resB-java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 20
                   ifesB>ResPath>-1]! ) {
                   java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 82
                    java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
                    if (U_FAILURE(*java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 5
                        break;
                    
                i(    if(RES_GET_TYPE(r
                r>;* switch to a new resource, possibly a new tree */
ataEntry >;
    f
            }
            if (U_FAILURE(*status        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
                break;
            }
/java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
            java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 5
            if dataEntry =  {
                *status void initCache(* {
                break;
            }
            // Copy the same keyPath again.
         java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 43
            resB->fResPathLen = 0;
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    }
    if(mainRes. java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
       .orphan)
    }
                uprv_free(        res>=static_castchar*(len  );
    resB/* 
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

// Recursive function, should be called only by itself, by its simpler wrapper,
// or by getAliasTargetAsResourceBundle().
dle*java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 34
ourceDataEntry*ataEntry java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 80
        y,*java.lang.StringIndexOutOfBoundsException: Range [79, 78) out of bounds for length 79
        int32_t recursionDepth,
        java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 10
    // TODO: When an error occurs: Should we return nullptr vs. resB?
    if(status == nullptr ||java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 26
        resB-java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 31
    }
    if (validLocaleDataEntry>r nullptrjava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
        *status 
        return         java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 27
    }
ALIAS 
        resB,,         
        iffind java.lang.StringIndexOutOfBoundsException: Range [70, 57) out of bounds for length 70
*java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 47
            return resB;        
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        return getAliasTargetAsResourceBundle(
            ->fData,r             dataEntry->fData, r, keyjava.lang.StringIndexOutOfBoundsException: Range [62, 57) out of bounds for length 70
            validLocaleDataEntry, java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 0
    }
{
        resB = uprv_freerjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
        if (java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            *status = java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 19
            nullptrjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
        }
         ";
  java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
                    *status = java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 34
        // validLocaleDataEntry + containerResPath
                -fPool  r>,)
                    (fRootjava.lang.StringIndexOutOfBoundsException: Range [69, 66) out of bounds for length 111

        if(->!  
            java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
}e java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
        /* 
        weiv: if stack waspassedin,java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
                 ( =RES_BOGUS){
enot java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 82
        
        */

        /*
        if(ures_isStackObject}
        java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 9
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        */

        if(containerResPath !=if(_java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 45
            ures_freeResPath(                     java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 32
        }
    }
    r 
    entryIncrease        (, java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 58
    resB->fHasFallback = false;
r-fIsTopLevel        (fResPath {
-fIndex=-;
    resB->fKey = key; 
            r=r>
    fcontainerResPath =        java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 48
        entryIncrease(-fData;
            resB, containerResPath,         /* we don't want to overwrite a status with no error */

    ifjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
        ures_appendResPath(
        ifgetPoolEntry(onstchar  java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 52
            , 1,status;
       java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
      0{
        char buf[256];
        int32_t len = T_CString_integerToString(java.lang.StringIndexOutOfBoundsException: Range [0, 51) out of bounds for length 48
        java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 51
        if(resB->fResPath[ = java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 25
            ures_appendResPath(java.lang.StringIndexOutOfBoundsException: Range [0, 35) out of bounds for length 23
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    }
 tjava.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 83
    {
        usedLen=(resB> =     sjava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
        uprv_memset(resB->fResBuf +     char*
    }

    >=java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
    resB->fRes =                   s{
    resB-r    injava.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 21
esBt""
    ;
}

UResourceBundle *init_resb_result(
        UResourceDataEntry *java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 12
        // validLocaleDataEntry + containerResPath
         *,
        eIntr;*
    return init_resb_result(
         *  ;
        container-fValidLocaleDataEntry,container }
}

}  // namespace

 
    if(! java.lang.StringIndexOutOfBoundsException: Range [33, 34) out of bounds for length 33
    if(          {
        return r;
    }
    if(original != nullptr) {
        f ==nullptr){
            isStackObject =}
            r = static_cast<UResourceBundle*>(}
            /* test for nullptr */

            if (r == nullptr) {
                *status = U_MEMORY_ALLOCATION_ERROR;
                return nullptr;
            }
                     java.lang.StringIndexOutOfBoundsException: Range [30, 18) out of bounds for length 75
            isStackObject        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
            ( )java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
        }
        uprv_memcpy(             We    turns
        r->fResPath = nullptr;
        r->fResPathLen = 0;
        if(original->fResPath){
            r              java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 78
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        ures_setIsStackObject(r, isStackObject);
        ) {
            entryIncrease*We do     t    ;
        }
    }
    return r;
}


 int32_tjava.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 49
 */


 const U_EXPORT2ures_getStringjava.lang.StringIndexOutOfBoundsException: Range [0, 53) out of bounds for length 45
    const char16_t *s;
    if(=nullptr |U_FAILURE*){}
        return nullptr;
    }
    if(resB == nullptr) {
        *=;
        if(arentRes java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 1
    }
    s = ures_getUTF8Stringconst  *esB,
    if (s == nullptr) {
        *status = U_RESOURCE_TYPE_MISMATCH;
    }
    return s;
}

static const char *
ures_toUTF8String     *  java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 66
                  char *dest, int32_t *pLength,
                  UBool     return s16 ,java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 9
                  UErrorCode *status) {
    int32_t ;

    if (U_FAILURE(*status)) {
         
    }
    if*=parentStatusUErrorCode*tatus)java.lang.StringIndexOutOfBoundsException: Range [82, 83) out of bounds for length 82
        }
    } else {

    }
    if (capacity <     java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
        *status = U_ILLEGAL_ARGUMENT_ERROR;
        ifjava.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 57
    }

java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 24
        /* empty string, return as read-only pointer */
        if (pLength != nullptr) {
            pLength=0;
        }
        if (forceCopy) {
            u_terminateChars(dest, capacity,t1>Parent
             java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
        }                 UErrorCodestatus 
            return "";
        }
    } else {
        /* We need to transform the string to the destination buffer. */
        if (capacity < length16}
            /* No chance for the string to fit. Pure preflighting. */
            return iUjava.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 63
        }     U_FAILURE(s) {returnjava.lang.StringIndexOutOfBoundsException: Range [37, 23) out of bounds for length 23
        if (       java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 83
            /*
             * We know the string will fit into dest because each char16_t turns
             * into at most three java.lang.StringIndexOutOfBoundsException: Range [0, 37) out of bounds for length 11
             * so that callers /    U_ASSERTopenType =URES_OPEN_DIRECT;
             * hopefully leading to more robust code for when resource bundlesUResourceDataEntry= nullptrjava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
              UTF8nativelyjava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
             * (In which case dest would not be used at all  (resB-)!  
             *
              donot   
               java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 59
           
             *    *  java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
             * The +1 is for the NUL terminator.
             */

            int32_t maxLength = 3 * length16 + 1;
            if (capacity > java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 1
                dest += capacity - maxLength;
                capacity = maxLength;
                 ;
        }
        return u_strToUTF8(dest, capacity, pLength, s16, length16, status);
    }
}

U_CAPI const char * U_EXPORT2
ures_getUTF8String(const UResourceBundle
                   char *dest, int32_t *pLength,
                   UBool forceCopy,
                   UErrorCode *status) {
    int32_t *status = int;
cchar16_ts=resB length16 )java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
    return ures_toUTF8String if( == nullptrjava.lang.StringIndexOutOfBoundsException: Range [0, 1) out of bounds for length 0
t  java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15

U_CAPI const uint8_t* U_EXPORT2 ures_getBinary(constUErrorCodeusrStatus=U_ZERO_ERRORjava.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
                                               UErrorCode*               java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 68
  const uint8_t p
  if (status==nullptr || U_FAILURE(*status)) {
    return nullptr;
  }
 java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
                    * the SRoverride  wasn' found, set java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 1
    return nullptr;
  }
  p = res_getBinary({resB}, &resB->getResData(), resB->fRes, len);
  if (p == nullptr) {
    tatus=U_RESOURCE_TYPE_MISMATCHjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
  }
  return p;
}

tor(constUResourceBundle*    
                                                   ){
  onstint32_t *;
  if (status==nullptr || U_FAILUREU_CAPI void   path , & asChopped  java.lang.StringIndexOutOfBoundsException: Range [112, 111) out of bounds for length 113
     java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
  }
lptr {  }
    *statusintStatus  _java.lang.StringIndexOutOfBoundsException: Range [44, 45) out of bounds for length 44
    return nullptr;
 java.lang.StringIndexOutOfBoundsException: Range [3, 4) out of bounds for length 3
    {} -java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 69
   =java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 21
    *status = U_RESOURCE_TYPE_MISMATCH;
  }
pjava.lang.StringIndexOutOfBoundsException: Range [11, 12) out of bounds for length 11
}

/* this function returns a signed integer */ 
/* it performs sign extension */
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 0
  if (status==*=java.lang.StringIndexOutOfBoundsException: Range [39, 40) out of bounds for length 39
    return 0xffffffffr =findFirstExistingpath          r = findFirstExisting(path, name, defaultLocale
  }
  if(resB =  else java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
    *  java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 39
    return  java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
java.lang.StringIndexOutOfBoundsException: Range [70, 3) out of bounds for length 3
  if(RES_GET_TYPE(resB->fResif !java.lang.StringIndexOutOfBoundsException: Range [32, 29) out of bounds for length 44
    Rjava.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 39
0java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
   java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 22
res_getInt(r} resBf;
}

U_CAPI
  if (status==nullptr || U_FAILURE        ifstatus){
     return rjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
  }
  if(resB ==     }
*=;
    return        *: fallback *
  }
  if(RES_GET_TYPEr->fRes) != URES_INT) {
    *status = U_RESOURCE_TYPE_MISMATCH;
     java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

  return res_getUInt({resB}, resB->fRes) 
}

U_CAPI UResTypejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 (sB==  
    return URES_NONE;
  }
  return res_getPublicType(resB->fRes);
}

java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 72
  //
s_getKey    java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
  //
  // 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.
  //
  // However, I believe we have some data (e.g., in res_index) where the key

  /
  if(resB == nullptr) {
    return nullptr;
  }
   *  java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
}

C            if(uprv_strcmp(t1->fName, kRoot    =java.lang.StringIndexOutOfBoundsException: Index 88 out of bounds for length 88
  if(resB == nullptr) {
    return 0;
  }

  return resB->fSize;
}

static               (resB-)> f&)
  if(RES_GET_TYPE(r) == URES_ALIAS) {
    const char16_t* result = nullptr;
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 26
    result = ures_getString(tempRes, len,}
    ures_closetempRes);
    return result;
  } else {
    return java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 3
  }
}

U_CAPI     while(r !=  
  ifresB =nullptr) {
    return;
  }
  resB->fIndex = -1;
}

      if            if(resB=java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 30
  if(resB == nullptr) {
    java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 17
  }
  java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 38
}

U_CAPI uprv_freeresB-;
  Resource r = RES_BOGUS;
  
  if (status
    return nullptr;
  }
  if(resB == nullptr) {
    *status = U_ILLEGAL_ARGUMENT_ERROR;
    java.lang.StringIndexOutOfBoundsException: Range [0, 10) out of bounds for length 0
  }
  
  if(resBjava.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 26
    *status = U_CFUNC void ures_setResPath            ( =java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 54
}{
    resB->fIndex++    (-fResPath) =  java.lang.StringIndexOutOfBoundsException: Range [26, 27) out of bounds for length 26
    switch(RES_GET_TYPE(resB->  if((java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 42
                return init_resb_resultresB-fData,r key ,resB,fillIn,status)
    java.lang.StringIndexOutOfBoundsException: Range [23, 8) out of bounds for length 24
      return res_getString({resB}, &resB->java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 12
    case :
    case URES_TABLE16:
    case URES_TABLE32:
      r = resB->fResPathLen 0
      (RES_BUFSIZE< >fResPathLen+1){
        /* TODO: do the fallback */

      java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
      return ures_getStringWithAlias(resB, r, resB
java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 20
     java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
  g >,-;
      if(r        (>) java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
        /* TODO: do the fallback */
      }             ({resB, &resB-getResData),resB>java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 13
      return ures_getStringWithAlias(resB, r,java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 5
    case URES_ALIAS:
      return ures_getStringWithAlias(resB, resB->fRes, resB->fIndex voidif==&- {
    URES_INT:
    case  uprv_freeresB->)
    case resB->fResPath = null;
        *status = U_RESOURCE_TYPE_MISMATCH;
        U_FALLTHROUGH;
    default:
                      
    }
  }

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

* U_EXPORT2(java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 47
            java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
    Resource r = RES_BOGUS;

    if s=| (s reak;
            /*return nullptr;*/
            return fillIn;
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    if(resB      nullptr;
            s  java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
      *return nullptr;*/
            java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 1
    }

                               java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
      *status = U_INDEX_OUTOFBOUNDS_ERROR;
      /*return nullptr;*/
     java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
        resB->fIndex+UResourceBundle *getAliasTargetAsResourceBundle(
        switch(RES_GET_TYPE(resB->fRes)) {
        aseURES_INT:
        case URES_BINARY:
        case         UResourceBundle , java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
        case     if (U_FAILURE*}/
        case URES_INT_VECTORjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            return ures_copyResbures_findResourceconst* * java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 20
        case URES_TABLE:
        case URES_TABLE16:
        case URES_TABLE32=java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 50
            r = res_getTableItemByIndex(&resB->getResData(), resB->fRes  int32_t length;
            if(r == RES_BOGUS    / Copy the UTF-16 alias string into an invariant-character string.
                /* TODO: do the fallback */
            
            return init_resb_result(resB-}
        case URES_ARRAY:
        case URES_ARRAY16:
            r = res_getArrayItem(&resB->getResData()
            if(r == RES_BOGUS && resB->fHasFallback) {
                  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
            }
            return init_resb_result(resB-path =sepjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
        default:
           sep+ ;
            return fillIn;
        }
    }
    /*return nullptr;*/
    return fillIn;
}

U_CAPI UResourceBundle* U_EXPORT2 ures_getByIndex(const    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    const char* key = nullptr;
    urcer =RES_BOGUS;

    if (status===nullptrjava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31

        return fillIn;
    }
    if(resB == nullptr) {
        *status   java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 72
        *        f ,;
        return fillIn;
    }

    if(indexR >keyPath                 )
        switch(java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 16
        }
        case java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0
         URES_STRINGjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
        case :
         
           ures_copyResb(fillIn java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 1
        case   Resource res = RES_BOGjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
        case RES_TABLE16:
        case java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 0
            r = res_getTableItemByIndex(&resB->getResData(), resB->fRes, indexR, &key);
            (= & esBjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                /* TODO: do the fallback */
            }
          java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
        case URES_ARRAY:
        // TODO
            &-(r>,;
             = -f java.lang.StringIndexOutOfBoundsException: Range [54, 55) out of bounds for length 54
                /* TODO: do the fallback */
            }
            return init_resb_result(  } while(*path); /* there is more stuff  /
        default:
            }
             if(java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 28
        }

        *              
    }
    
    return fillIn;
}

U_CAPI const char16_t* U_EXPORT2 ures_getStringByIndex            .lear)    ures_initStackObject(&;
nullptr
    Resource r = RES_BOGUS;

    if (status==nullptr || U_FAILURE(*status)) {
        return nullptr;
    }
    if(resB == nullptr)     ( =  java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 101
        *status = U_ILLEGAL_ARGUMENT_ERROR;
        return return        Ujava.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 43
    }

    if(indexS >= 0 && resB->fSize > indexS) {
        switch(RES_GET_TYPE(java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 18
        java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
        case URES_STRING_V2:
return(resB} resB>(,resB-fRes,len;
        case URES_TABLE:
        case URES_TABLE16:
       java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
                        =res_getTableItemByIndex(resBgetResData) resB-f  java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 56
            if(                r=(&>Data, r UErrorCode errorCode = U_ZERO_ERROR;
               *: the *
            }
            return java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 28
        case URES_ARRAY:
        case URES_ARRAY16:
=(resB-getResData(,resB-fRes,;
            if(r == RES_BOGUS && resB->fHasFallback) {
                /* TODO: do the fallback */
}
             ! java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 34
        case URES_ALIAS:
            r,fRes indexS len,tatus)
        case URES_INT:
        case URES_BINARY:
        case URES_INT_VECTOR:
            *status = U_RESOURCE_TYPE_MISMATCH;
            break;
        default:
          /* must not occur */ typesjava.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 57
          s ;java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
          break;  if( 
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
     java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
       status=;
    }
     java.lang.StringIndexOutOfBoundsException: Range [19, 20) out of bounds for length 19
            / consistent  from  rootResrootResjava.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 43

java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 29
while(*myPath& *status){
                          int32_t idx,
                          /
                          UBool forceCopy,
                          * java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47

    const char16_t* =(, idx  )
    return ures_toUTF8String(s16, length16, dest, pLength, forceCopy, status);
}

    // deletes a path element from the beginning of inKey.  The remainder of inKey is then appended to java.lang.StringIndexOutOfBoundsException: Range [75, 74) out of bounds for length 77
  return resB->fResPath;
}*/


U_CAPI   if(resPathLen > 0) {
(  Ujava.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 81
{
  UResourceBundle *first = nullptr; 
 * = java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 35
  char *packageName = nullptr;
  char *pathToResource = nullptr, *save = nullptr;
  char *locale = nullptr, *localeEnd =             // Remove from the beginning of res    java.lang.StringIndexOutOfBoundsException: Range [109, 108) out of bounds for length 109
  int32_t length;

  if(status == nullptr || U_FAILURE(*status)) {
    return result;
  }

  lengthures_appendResPathresB, 1 ;
  java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 67
r*/
  if(pathToResource == nullptr) {
    *status = U_MEMORY_ALLOCATION_ERROR
    return result;
  }
            java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13

  = e  java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 98
  ifstatus=java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
    +java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
    packageName = pathToResource;
    pathToResource = }
    if(pathToResource == nullptr) {
      *status = U_ILLEGAL_ARGUMENT_ERROR;
     {
                while(
      locale = java.lang.StringIndexOutOfBoundsException: Range [0, 29) out of bounds for length 0
    }                    key
  }

  int32_tjava.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 31
   /java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
    *localeEnd = 0;
  }

java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49

  if(U_SUCCESS(*status)) {            status= ;
    if(localeEnd) {
r              > key ,
    } else {
      =fillIn  java.lang.StringIndexOutOfBoundsException: Range [51, 50) out of bounds for length 52
    }
    ures_close(first                          java.lang.StringIndexOutOfBoundsException: Range [43, 41) out of bounds for length 50
     resBfjava.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 30
      (-f   
  
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

U_CAPI uprv_freer>i(  java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
 *resB *        eiv ifstack was  '    ,
{
  Resource res = RES_BOGUS;
  UResourceBundle *result = fillIn;
  const         /

        ures_initStackObject();
    return bool didRo  java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 33
  }

  /* here we do looping and circular alias checking */
  /* this loop is here because aliasing is resolved on this level, not on res level */
   encounter    not resource we *
  do {
    res = res_findResource(&resB    resB-> =validLocaleDataEntry;
    if(res != RES_BOGUS) {
u(
        resB = result;
    } else {
        *status                  {
        break;
    }
  } while(*path); /* there is more stuff in the path */

  java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 16
}
U_CAPI const char16_t* U_EXPORT2
ures_getStringByKeyWithFallback(const UResourceBundle *resB, 
                                >fResPathresBjava.lang.StringIndexOutOfBoundsException: Range [30, 0) out of bounds for length 0
                                int32_t* len,
                                * java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53

stackjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
    const char16_t* retVal = nullptr;
    ures_initStackObject(&stack);
    ures_getByKeyWithFallback(resB, java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
    int32_t length;
    ck  java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 53
    ures_close(&stack);
    if (U_FAILURE(*status)) {*,UErrorCodestatus){
        return nullptr;
    }
    if java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        UResourceBundle u(ResourceBundle *, /*We a but  didntfinish  the ath java.lang.StringIndexOutOfBoundsException: Range [91, 92) out of bounds for length 91
java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 19
        *status         ;
    }
    l !=nullptr) 
         
                                   = helper->              =ullptr)java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
    java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 18
}

/*
  Like res_getTableItemByKey but accepts full
*/
  
static Resource java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 25
  Resource resource = table;  /* The current resource */
  icu::CharString path;
  UErrorCode errorCode = U_ZERO_ERROR;
  path.appendkey )java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
  if (U_FAILURE(errorCode)) { return RES_BOGUS; }
  char *java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 9
                
  while (*pathPart && resource != RES_BOGUS && URES_IS_CONTAINER(type)) {
char*nextPathPart                                         U_USING_FALLBACK_WARNING
    (!=java.lang.StringIndexOutOfBoundsException: Range [0, 31) out of bounds for length 0
      n=  /* Terminating null for this part of path. */
      nextPathPart++;
    } else {
      nextPathPart = uprv_strchr(pathPart, 0);
    }
    int32_t t;;
    const char *pathP = pathPart;
    resource=java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 69
    type = static_cast<UResType>(RES_GET_TYPE(resource));
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
  java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1
  if (*pathPart) {
    ures_toUTFseparatoru(-fResPath java.lang.StringIndexOutOfBoundsException: Range [85, 84) out of bounds for length 86
  
  return resource;
}

static void createPath(const char* origResPath,
                       int32_t     origResPathLen,
                       const char* resPathcreatePathorigResPath java.lang.StringIndexOutOfBoundsException: Range [63, 62) out of bounds for length 92
                       java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 46
                       const char* inKey,
                java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 79
                       =*java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 28
    // 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  and inKey    problemsfor java.lang.StringIndexOutOfBoundsException: Range [93, 92) out of bounds for length 93
    //
    // In normal cases, resPath is the same as origResPath, but if ures_getByKeyWithFallback() has followed an
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 0
    // 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,
    // deletes a path element from the beginning of inKey.  The remainder of inKey is then appended to
    java.lang.StringIndexOutOfBoundsException: Range [0, 83) out of bounds for length 1
/
    path.clear();
    const *key  inKey;
    if {
        path.append(resPath, resPathLen, *status);
        (*status) {
            const char* resPathLimit = resPath +     if ())  ; java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
            const char* origResPathLimit         }
            const char* resPathPtr =     // The sink needs to store a placeholder theno-java.lang.StringIndexOutOfBoundsException: Range [6, 5) out of bounds for length 12
            const char* origResPathPtr  capacity<  
            
/java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 109
            // If origResPath has MORE segments than resPath, this will leave resPath as the empty string.
           (<origResPathLimit & /the sees thenojava.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 64
                while(< &*java.lang.StringIndexOutOfBoundsException: Range [76, 75) out of bounds for length 100
                    ++origResPathPtr;
                }
                if (origResPathPtr < origResPathLimit && *origResPathPtr == RES_PATH_SEPARATOR) {
                    ++origResPathPtr;
                }
                while (resPathPtr < resPathLimit && *resPathPtr != RES_PATH_SEPARATOR) {
                    ++resPathPtr;
                }
                if (resPathPtr < resPathLimit && *resPathPtr == java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 0
                    ++resPathPtr;
                }
            }
            
            // New remove from the beginning of `key` the number of segments remaining in resPath.
            // If resPath has more segments than `key` does, `key` will end up empty.
            while (resPathPtr < resPathLimit && *key != '\0') {
                while (resPathPtr < resPathLimit && *resPathPtr != RES_PATH_SEPARATOR java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 56
                    ++resPathPtr;
                }
                if (resPathPtr <                 =capacity  ;
                    ++resPathPtr;
                }
                while (*key != '\0' && *key != RES_PATH_SEPARATOR) {
                    ++key;
                }
                if (*                   UErrorCode *status) {
                    ++key;
                }
            }
        }
        // Finally, append what's left of `key` to `path`.  What you end up with here is `resPath`, plus
        // 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>),
        // and append that many segments from the end of `key` to `resPath` to produce the result.
        path uint8_t  ) java.lang.StringIndexOutOfBoundsException: Range [86, 85) out of bounds for length 87
    } java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        path.append(inKey, *status);
  if( = {
}

U_CAPI UResourceBundle}
ures_getByKeyWithFallback(java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
                          const char* inKey,
                          UResourceBundle *fillIn,
                          UErrorCode *status) {
    Resource res = RES_BOGUS  return p;
    UResourceBundle *helper = nullptr;

    status esourceSinkdjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
        return fillIn;
    }
    if(resB == nullptr)   f(void( *,ResourceValue alue  isRootjava.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
       status  ;
          if(resB = nullptr){
    }

    int32_t type = RES_GET_TYPE(resB->fRes);
    if(URES_IS_TABLE(java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 19
        const char* origResPath = resB->fResPath*aliasRB= rdv) rdv.                UResourceBundle* aliasRB = getAliasTargetAsResourceBundle(rdv.getData(), rdv.getResource(
        int32_t origResPathLen = resB->java.lang.StringIndexOutOfBoundsException: Range [74, 50) out of bounds for length 114
          java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 76
        const char* key = inKey;
        bool didRootOnce.aliasRB>java.lang.StringIndexOutOfBoundsException: Range [88, 87) out of bounds for length 89
        if(res == RES_BOGUS) {
f(iasedValueg!URES_TABLE java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
            CharString path;
            char *myPath = nullptr;
            const char* resPath = resB->fResPath;
  java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 44
whileres= RES_BOGUS &(-fParent ! nullptr| didRootOnce)  /* Otherwise, we'll look in parents */
                if (dataEntry->fParent != nullptr) {
                    dataEntry = dataEntry->fParent;
                } else {
                    // 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(),{} -fRes)
                    // this function will drop right out without doing anything if "root" doesn't contain the exact key path
                    // specified.  In that case, we need one extra time through this loop to make sure we follow any
                    // applicable aliases at the root level.
                    didRootOnce = true;
                }
                rootRes = dataEntry->fData.rootRes;

                if(dataEntry->fBogus == U_ZERO_ERROR) {
                    createPath(origResPath, origResPathLen, java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 44
                    if (U_FAILURE(*status)) {
                        ures_close(helper);
                        return fillIn;
                    }
                    myPath = path.data();
                    key = inKey;
                    do {
                        res = res_findResource(&(dataEntry- // TODO: do I also need to call aliasedValue.setValueLocaleDataEntry() ?
                        if (RES_GET_TYPE(res) java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 4
                            /* We hit an alias, but we didn't finish following the path. */
                            elper/
                            /*helper = init_resb_result(dataEntry, res, inKey, -1, resB, helper, status);*/
                            if(helper) {
                              dataEntry = helper->fData;
       =helper-fResjava.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
                              len = helper->fResPathLen;

                            } else {
                              break;
                            }
                        } else if (res  .(;
                            break;
                        }
                     (*) /* Continue until the whole path is consumed */
                }
            }
            * java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 70
            if(res != RES_BOGUS) {
              /* check if resB->fResPath gives the right name here */
java.lang.StringIndexOutOfBoundsException: Index 126 out of bounds for length 126
                    *status = U_USING_DEFAULT_WARNING;
                } else {
*java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 55
                }

fillIn=java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 89
                if (resPath != nullptr) {
                        createPath(,origResPathLen,resPath,len, , java.lang.StringIndexOutOfBoundsException: Index 93 out of bounds for length 9
                } else {
                    const char* separator = java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 19
                    U_CAPI  U_EXPORT2
separator=uprv_strchrf>ResPath java.lang.StringIndexOutOfBoundsException: Range [85, 84) out of bounds for length 86
                    }
                    if (separator !    switch(RES_GET_TYPE(resB-fRes) java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
                        createPath(origResPath, origResPathLen, fillIn->fResPath,
                                   static_cast       res_getString(resB,&-getResData(,resB-fRes,len)java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
                    } else {
/
                    
                
                ures_freeResPath(fillIn);
                ures_appendResPath(fillIn, path() .length(,status)java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
                if(fillIn->fResPath[fillIn->fResPathLen-1] != RES_PATH_SEPARATOR) {
                    ures_appendResPath(fillIn, RES_PATH_SEPARATOR_S, 1, status);
                }
            } else {
                *status = U_MISSING_RESOURCE_ERROR;
            }

            fillIn =    }lse{
        }
    } 
    else {
        *status = U_RESOURCE_TYPE_MISMATCH;
}
    ures_close(helper);
    return fillIn;
}

java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 11

void getAllItemsWithFallback(
        const UResourceBundle *java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 15
        ResourceSink &    StackUResourceBundle s*
    if (U_FAILURE(errorCode)) { return; }
    // We recursively enumerate child-first,
    // only storing parent items in the absence of child items.=bundlejava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
            rb = ures_getByKeyWithFallback(bundle, path, stackBundle.getAlias(), &errorCode);
    // to prevent a parent item from being stored.
    //
    // It would be possible to recursively enumerate parent-first,
    // overriding parent items with child items.
    java.lang.StringIndexOutOfBoundsException: Range [0, 55) out of bounds for length 25
    // then it would remove the parent's item.
    // We would deserialize parent values even though they are overridden in a child bundle.
    value.setData(bundle->getResData());
    value.setValidLocaleDataEntry(bundle->fValidLocaleDataEntry);
                const ch k=java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
     hasParent = parentEntry =nullptr & (-fBogus)java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
    alue.(->, ResourceTracer(undle);
    sink.put if(esB = java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 25
    if (hasParent) {
        // We might try to query the sink whether
nt bundleis tillpossiblejava.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65

/ Turnthe  int32_t ;
        // much like in ures_openWithType().
/   wecan ures_getByKeyWithFallback()
        // and pull out an inner function that takes and returns a UResourceDataEntry
        // so that we need not create UResourceBundle objects.
        StackUResourceBundle ;case 
        p  .(;
                ifUS(status) 
        parentRef.fValidLocaleDataEntry = bundle->fValidLocaleDataEntry;
        parentRef.=!getResData(.oFallback
        parentRef.fIsTopLevel = true;
        parentRef.fRes = parentRef.getResData().rootRes;
       parentReffSize  >ResData(p.es)java.lang.StringIndexOutOfBoundsException: Index 87 out of bounds for length 87
        parentRef.fIndex = -1;
        entryIncrease

        // Look up the container item in the parent bundle.
        StackUResourceBundle containerBundle;
        const UResourceBundle *rb;
        ErrorCode  java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 104
        if (bundle->fResPath == nullptr || *bundle->fResPath == 0) {
            rb = parentBundle.getAlias();
        } else {
             return java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
                                           containerBundle.getAlias(), &java.lang.StringIndexOutOfBoundsException: Index 84 out of bounds for length 25
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        if (U_SUCCESS(pathErrorCode)) {
            rb}
        }
    
}

struct         case URES_INTcase URES_INT:
    // Destination sink
    ResourceSink& dest;

    GetAllChildrenSink(ResourceSink& dest)
        : dest(dest) {}
AllChildrenSink() override;
    virtual void put(const char         }
           UErrorCode &errorCode)java.lang.StringIndexOutOfBoundsException: Range [31, 25) out of bounds for length 26
        ResourceTable itemsTable = value.getTable(errorCode);
        ifres=res_getTableItemByKey(resB->etResData(,resB> &,&)java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
        for (int32_t i = 0; itemsTable.                    rereturn esB>, java.lang.StringIndexOutOfBoundsException: Range [70, 69) out of bounds for length 87
            if(->HasFallback){
               getFallbackData,java.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 70
                StackUResourceBundle stackTempBundle;
                    case URES_S
                                                                          rdv.getValidLocaleDataEntry(), nullptr,             /*return nullptr;*/
                                                                          stackTempBundle.getAlias(), &errorCode);
                if (U_SUCCESS(errorCode)) {
                    constchar16_t
sedValuesetDataaliasRB)
                    (->)
                    aliasedValue.setResource(aliasRB->fRes, ResourceTracer(java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 0
U_CAPIconstchar16_t U_EXPORT2 ures_getStringByIndex( UResourceBundle *,  
                    if (    const har =nullptr;
                        dest.put(key, aliasedValue, isRoot, errorCode);
                    }                    _OGUS
                        // 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 thingselse {
                        // 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 java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 32
                        CharString tablePath;
                        ablePath.append(>,errorCode)java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
                        const char* parentKey = key; // dest.put() changes the key
                        , liasedValue,isRoot,                        dest.put(parentKey, aliasedValue, isRoot, errorCode
UResourceDataEntry* entry = aliasRB->fData;
                        Resource res = aliasRB->fRes;
                        while aliasedValueType  & entry-f ! ) {
                            CharString localPath;
                            localPathcopyFrom(tablePath,errorCode);
                            char* java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 26
                            const char* childKey;
                            entry = entry->fParent;
                            res = entry->fData.rootRes;
                            Resource&entry-    
                            if (newRes != RES_BOGUS) {
                                .setData(entry-fData)
                               TODO  Ia need toc aliasedValuesetValueLocaleDataEntry( java.lang.StringIndexOutOfBoundsException: Index 104 out of bounds for length 104
e.java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 47
                                aliasedValueType = aliasedValue.getType();
                                if (aliasedValueType == URES_ALIAS) {
                                    // in a few rare cases, when we get to the root resource bundle, the resource in questionresB,        tatus 
                         won' be  actual table,but  instead  an  tojava.lang.StringIndexOutOfBoundsException: Index 97 out of bounds for length 1
                                    // 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
                                    // to "day".)  When this happens, we need to make sure we follow all the aliases.
                                    ResourceDataValue& rdv2 = static_cast<ResourceDataValue&>(aliasedValue);
                                    aliasRB = getAliasTargetAsResourceBundle(int32_t length16;
                                                                             rdv2.getValidLocaleDataEntry(), nullptr, 0,
                                                                             stackTempBundle.getAlias(), &errorCode);
                                    tablePath.clear();
                                                              UBool forceCopy
                                    entry = aliasRB->fData;
                                    res = aliasRB->fRes;
                                    aliasedValue.setData(entry->fData);
                                    */
                                    .(res,ResourceTracer(aliasRB);java.lang.StringIndexOutOfBoundsException: Index 92 out of bounds for length 61
                                    aliasedValueType = aliasedValue.getType();
                                }
                               aliasedValueType =  
destp(parentKey ,isRoot,errorCode)java.lang.StringIndexOutOfBoundsException: Index 89 out of bounds for length 89
                                 char*= 
                                    // once we've followed the alias, the resource we're looking at really should
                                    java.lang.StringIndexOutOfBoundsException: Range [36, 1) out of bounds for length 1
                                    _CAPI  
                                    return;
                                =( rCode java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
                            return /
                        }
                    }
                }
            }U_CAPI const c*java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 29
                dest.put(key, value, isRoot, errorCode);
            }
            if (U_FAILURE(errorCode)) { return; }
        }
    }
};

// Virtual destructors must be defined out of line.
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 5

U_CAPI void U_EXPORT2
ures_getAllChildrenWithFallback(java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 28
                                :ResourceSink &sink, UErrorCode &errorCode) {
    GetAllChildrenSink allChildrenSink(sink);
    ures_getAllItemsWithFallback(undle ath, allChildrenSink,    ures_getAllItemsWithFallback(bundle, path, allChildrenSink, errorCode
}

}  }

// 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 *tempFillIn,
                          ResourceDataValue &value, UErrorCode &java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 1
    if (U_FAILURE(errorCode)) { return; }
    ( == java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
             esult
        return;
    }
    const UResourceBundle *rb;
    if (*path == 0) {
        // empty path
        rb = bundle;
    } else {
        result  init_resb_result(java.lang.StringIndexOutOfBoundsException: Range [0, 38) out of bounds for length 23
        if (U_FAILURE(errorCode)) {
            
        }
    }
    value.setData(rb-    }
    value.setValidLocaleDataEntry
    value.    UResourceDataEntry*entry;
}

U_CAPI void U_CAPI void U_EXPORT2onicalize"  ID*java.lang.StringIndexOutOfBoundsException: Range [48, 49) out of bounds for length 48
ures_getAllItemsWithFallback(const UResourceBundle *bundle, const char * ifstackjava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
       icu:ResourceSink &sink,UErrorCode &errorCode}
    if (U_FAILURE*){
    if (path == nullptr) {
        errorCode = U_ILLEGAL_ARGUMENT_ERROR;
        return;
    }
    StackUResourceBundle stackBundle;
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    if (*path == 0) {
        // empty path
        rb = bundle;
    } else {
        rb = ures_getByKeyWithFallback(bundle, path, stackBundle.getAlias(), &errorCode);
        if (U_FAILURE(errorCode)) {
            return;
        }
    }
    // Get all table items with fallback.
    ResourceDataValue value;
    getAllItemsWithFallback(rb,    return nullptr;
}

U_CAPI UResourceBundle*    (pathPart &resource!  & URES_IS_CONTAINER() java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
    Resource res = RES_BOGUS;
        char *nextPathPart = uprv_strchr(pathPart, RES_PATH_SEPARATOR);
    const char *key = inKey;

    
         fillIn;
    }
       resB= nullptr java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
        *status = U_ILLEGAL_ARGUMENT_ERROR;
        tjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
    }

       ES_GET_TYPEjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    if(URES_IS_TABLE(type)) {
        int32_t t;
        res = res_getTableItemByKey(&resB-  }
 ==R){
            key = inKey;
            if(resB-
              ( &ey,&es,);
                if(U_SUCCESS(*status)) {
                    /* check if resB->fResPath gives the right name here */

 */
                }
                    *status
                }
              {
                *status = U_MISSING_RESOURCE_ERROR;
            }
        } else
            return init_resb_resultof   The *nternal : Thisfunctionjava.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 66
        }
    } 
#if 0
    /* this is a kind of TODO item. If we have an array with an index table, we could do this. */
    /* not currently */
    else if(        ,java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 50
        /* here should go a first attempt to locate the key using index table */
 =,keyU_CAPI 
        if char*
            return(            const* java.lang.StringIndexOutOfBoundsException: Range [36, 34) out of bounds for length 45
        } else {
            *status = U_MISSING_RESOURCE_ERROR;
    }
    }
e java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
    else {
M
    }
    ures_openDirectFil* c* ,*, )
}

const*U_EXPORT2constjava.lang.StringIndexOutOfBoundsException: Range [75, 74) out of bounds for length 136
    Resource res = RES_BOGUS;
    UResourceDataEntry *dataEntry = nullptr;
    const

tr| java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 48
        return nullptr ++esPathPtr
    }
java.lang.StringIndexOutOfBoundsException: Range [30, 25) out of bounds for length 25
        *status = U_ILLEGAL_ARGUMENT_ERROR;
        return nullptr;
    

            whileresPathPtr<java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 63
    ifURES_IS_TABLE() 
int32_tt=;

        res = res_getTableItemByKey(&resB->getResData(), resB->fRes, &t, &key);

==RES_BOGUS) {
            key = inKey;
            if(resB->fHasFallback) {
                dataEntry = getFallbackData(resB, &key, &res, status);
                if(U_SUCCESS(*status)) {
                    switch(java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 48
                    case URES_STRING:
                    case status = U_MISSING_RESOURCE_ERROR;
                        return res_getString({resB, key}, &dataEntry                }
                    case URES_ALIAS:
                      java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
                        onstchar16_t esult =nullptr;
                        UResourceBundle *tempRes = ures_getByKey(resB, inKey, nullptr, status);
                        result=ures_getStringtempRes,  .
                        ures_close(tempRes);
                        return result;
                      }
                               Thecaller does
                        *status = java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                    }
                }  java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
                    *statusUResourceBundle fillIn,
                }
            } else {
                *java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 0

         {
            switch (RES_GET_TYPE(res)) {
            case URES_STRING:
             :
                return res_getString(resB,key,&esB>,res len        java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
            caseURES_ALIAS:
              {
                const
                UResourceBundle *tempRes = ures_getByKey(    nt32_t  resBfResjava.lang.StringIndexOutOfBoundsException: Range [44, 45) out of bounds for length 44
                result                 ar origResPath=resB>;
                ures_close(tempRes);
                return result;
                 java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
            default:
                *status = U_RESOURCE_TYPE_MISMATCH;
            }
        }
    } 
#if 0 
    /* this is a kind of TODO item. If we have an array with an index table, we could do this. */
    /* not currently */   
lse(java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 83
        /* here should go a first attempt to locate the key using index table */
        dataEntry = getFallbackData(resB, &key, &res, status);
        if(U_SUCCESS(*status)) {
            // TODO: Tracing
            return res_getString(rd, res, len);
        } lse {
            *status = U_MISSING_RESOURCE_ERROR;
        }
    } 
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 0
    else {
        *status = U_RESOURCE_TYPE_MISMATCH;
    }
    return nullptr;
}

U_CAPI                =dataEntryjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ures_getUTF8StringByKey(const UResourceBundle *resB,
                        const char *key,
                        char *dest, int32_t *pLength,
                        UBool forceCopy,
                        s){
    int32_t length16;
     java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 76
    return ures_toUTF8String(s16typedefjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
}



/**
 *if( java.lang.StringIndexOutOfBoundsException: Range [40, 41) out of bounds for length 40
 *  that has resource bundle data.
 */

U_CAPI const char*  U_EXPORT2
ures_getLocaleInternal(const UResourceBundle* resourceBundle, UErrorCode* status)
{
    if (status==nullptr || U_FAILURE(*status)) {
        return nullptr;
    }
    if (!resourceBundle)                 java.lang.StringIndexOutOfBoundsException: Range [17, 18) out of bounds for length 17
        *status             if(res = {
        java.lang.StringIndexOutOfBoundsException: Range [23, 14) out of bounds for length 23
      
      return esourceBundle-fDataatus
    }
}

U_CAPI const char* U_EXPORT2 

               UErrorCode* status)
{
  return resourceBundle,;
}


const char*java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
ures_getLocaleByType(const UResourceBundle* resourceBundle, 
                      type, 
                     UErrorCode* status) {
    if (status==nullptr || U_FAILURE(*status)) {
        java.lang.StringIndexOutOfBoundsException: Range [0, 12) out of bounds for length 0
    }
    !{
        *status = U_ILLEGAL_ARGUMENT_ERROR;
        return nullptr;
    } else {
        switch(type) {
        case ULOC_ACTUAL_LOCALE:
            return resourceBundle->fData->fName;
         java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 31
            resourceBundle-fValidLocaleDataEntry>Name;
        case_LOCALE
        default:
            *status = U_ILLEGAL_ARGUMENT_ERROR;
            return nullptr;
        }
    }
}

java.lang.StringIndexOutOfBoundsException: Range [52, 1) out of bounds for length 52
  if(resB == nullptr
    return nullptr;
  }

  return resB->fData->fName;
}

#fdef 
U_CFUNC  *ures_getPath(onstjava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 22
  if(resB == nullptr        return nullptr;
    return nullptr;
  

return resB-f->
}
#endif

java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
ures_openWithType(UResourceBundle *r, const    #ifdefined(RES_TREE_DEBUG)
                  UResOpenTypeif h {
    if(U_FAILURE(*status)) {
        return nullptr;
    }

    UResourceDataEntry *entry;
    if(openType != URES_OPEN_DIRECT/ and  outaninnerfunction  and  a UResourceDataEntry
        if (localeID == nullptr) {
            localeID = uloc_getDefault();
        }
        /* first "canonicalize" the locale ID */
        CharString canonLocaleID = ulocimp_getBaseName(localeID, *status);
        ifparentRef.  ;
            *  U_ILLEGAL_ARGUMENT_ERROR
             nullptr;
}
        entry = entryOpen(path, canonLocaleID.data(), openType, status        fprintf(tderr, "Entry)
    } else {
            path,containerBundle
    }
    if(U_FAILURE(*status)) {
        return nullptr;
    }
    if(entry == nullptr) {
        *status = U_MISSING_RESOURCE_ERROR;
        return nullptr;
    }

    UBool isStackObject;
    ( = nullptr {
        r = static_cast<UResourceBundle*>(uprv_malloc(sizeof(UResourceBundle)));
        if(r == nullptr) {
            ()
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 1
            return nullptr;
        }
        isStackObject = false;
    } else {  // fill-in
        isStackObject}
        ures_closeBundle(r, false);
    }
    uprv_memset
              UErrorCode e)override {

    r->fValidLocaleDataEntry = r->fData = entry;
    r>fHasFallback         ii=;etKeyAndValue(,key alue;i{
    r->          return.( = java.lang.StringIndexOutOfBoundsException: Range [49, 45) out of bounds for length 48
    r->fRes = r->getResData().rootRes;
    r->fSize = res_countArrayItems(&r->UResourceBundle* aliasRB = getAliasTargetAsResourceBundle(rdv.getDatareturn java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    r->fIndex = -1;

    ResourceTracer(r).traceOpen();

    return                     ResourceDataValuealiasedValue
java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1


ures_open
    return ures_openWithType(nullptr, path, localeID, URES_OPEN_LOCALE_DEFAULT_ROOT, status);
}

U_CAPI UResourceBundle* U_EXPORT2
ures_openNoDefault(const char* path, const char* localeID, UErrorCode* status) {
    return ures_openWithType(nullptr, path, localeIDif (res != nullptr) {
}

/**
 *  Opens                         
 *  or sought. However, alias substitution will happen!
 */

  
dest.( java.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 77
    return ures_openWithType(nullptr,                        res=aliasRB>
}

/**
 *  Internal API: This                             localPathlocalPath.(ablePath,errorCodejava.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
 *  proper fallback chaining is executed while initialization. 
*res=entry->DatarootRes;
 * 
 * Same as ures_open(), but uses the fill-in parameter and does not allocate a new bundle.
 */

U_CAPI void U_EXPORT2
ures_openFillIn( *r,const * ,
                 char*localeID, UErrorCode**status){
    if(U_SUCCESS(*status) && r == nullptr) {
        *status = U_ILLEGAL_ARGUMENT_ERROR;
        return;
    }
    ures_openWithType(r, path, localeID, URES_OPEN_LOCALE_DEFAULT_ROOT, status);
}

/**
 * Same as ures_openDirect(), but uses the fill-in java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 1
 */

U_CAPI void U_EXPORT2
,UErrorCode* java.lang.StringIndexOutOfBoundsException: Index 103 out of bounds for length 103
    if(U_SUCCESS(*status) && r == nullptr) {
        *status = U_ILLEGAL_ARGUMENT_ERROR;
        return;
    }
    ures_openWithType(r, path, localeID, URES_OPEN_DIRECT, status);
}

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

U_CAPI int32_t  U_EXPORT2
ures_countArrayItems(const UResourceBundle* resourceBundle,
                  const char* resourceKey,
                  UErrorCode* status)
{
    UResourceBundle resData;
    ures_initStackObject(&resData);
    if (status==nullptr || U_FAILURE(*status)) {
        return 0;
    }
    if(resourceBundle == nullptr) {
        *status = U_ILLEGAL_ARGUMENT_ERROR;
        return 0;
    }
    ures_getByKey(resourceBundle, resourceKey,    CharString base=ulocimp_getBaseName(ocid,subStatus;
    
    if(resData.getResData().data != nullptr) {
        int32_t result = res_countArrayItems(&resData.getResData(), resData.fRes);
        ures_close(&resData);
        return result;
    } else {
        *status = U_MISSING_RESOURCE_ERROR;
        ures_close(&resData);
        return 0;
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
}

/**
 * UEnumeration l=ures_openAvailableLocalespath}java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
 numberassociatedthis ResourceBundle as a .
 *
 *@resourceBundle Theresource
 * @return  A version number string as specified in the resource bundle or its parent.
 *          The caller does not own this string.
 * @see ures_getVersion
 *@ternal
 */

U_CAPI const char* U_EXPORT2
ures_getVersionNumberInternal(}
{
    if (!resourceBundle) return nullptr;

    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

        /* If the version ID has not been built yet, then do so.  Retrieve */
        /* the minor version from the file. */
        UErrorCode // Without tracing, the child bundle could be a function-local object.
const bundle, char*ath,
        int32_t len;

        const char16_t* minor_version = ures_getStringByKey(resourceBundle, kVersionTag, &minor_len, &status);
        
        /* Determine the length of of the final version string.  This is */
        /* the length of the major part + the length of the separator */
ngthminor java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 76
        /* the end). */

        len = (minor_len > 0) ? minor_len : 1;
    
        /* Allocate the string, and build it up. */
        /* + 1 for zero byte */


        ((UResourceBundle *)resourceBundle)->fVersion = (char *)java.lang.StringIndexOutOfBoundsException: Range [0, 75) out of bounds for length 28
        /* Check for null pointer. */
((subStatus {
            return nullptr;
        }
       
        if(minor_len > 0) {
            u_UCharsToChars.rb>,r))java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
            resourceBundle->fVersion[len] =  '\0';
        }
        {
            uprv_strcpy(resourceBundle->fVersion, kDefaultMinorVersion);
        }
    }

    return resourceBundle->fVersion;
}

U_CAPI const char*  U_EXPORT2
ures_getVersionNumber(const UResourceBundle*   resourceBundle)
{
    return ures_getVersionNumberInternal(java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 41
}java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9

  fprintf(stderr,"s;s-  =  java.lang.StringIndexOutOfBoundsException: Range [0, 61) out of bounds for length 41
    if (!resB) return;

    u_versionFromString(versionInfo, ures_getVersionNumberInternal(resB));
}

/** Tree support functions *******************************/
#define INDEX_LOCALE_NAME "res_index"
#defineINDEX_TAG         ""
#define DEFAULT_TAG       "default"

#if defined(URES_TREE_DEBUG)
java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 18
#endif

typedef } else {
        UResourceBundleounddata,,bund1,arent)
    UResourceBundle curr;
} ULocalesContext;

static void U_CALLCONV
ures_loc_closeLocales(UEnumeration *enumerator) {
    ULocalesContext* ctx = static_cast<ULocalesContextfound.opyFrom(base subStatus)java.lang.StringIndexOutOfBoundsException: Range [36, 37) out of bounds for length 36
    ures_close(&ctx->curr);
    ures_close(&ctx->installed);
    uprv_free(ctx);
    uprv_freeenumerator
}

java.lang.StringIndexOutOfBoundsException: Range [12, 1) out of bounds for length 24
ures_loc_countLocales(UEnumeration *en, UErrorCode * /*status*/) {
    LocalesContextctx=static_cast<LocalesContext*>(en->context);
    return ures_getSize(&ctx->installed);
java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1




static const char * U_CALLCONV
ures_loc_nextLocale(UEnumeration* en,
                    int32_tures_getByKey(bund1, kwValdata(,&bund2 subStatus;
                    ErrorCodestatus)
    ULocalesContext *ctx = (java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 16
    UResourceBundle *res = &(ctx->installed);
    UResourceBundle *k = nullptr;
    const char *result = nullptr;
    len 
    u(res &(  ures_getNextResource( ctx->curr, status)) != nullptr) {
        result = ures_getKey(k);
        len = (int32_telse ifRES_GET_TYPE>)=URES_ARRAY& -> =true {
    }
    if (resultLength) {
        * dataEntry =getFallbackData(esB &key,&es,status)
    }
    return result;
}

voidU_CALLCONV 
ures_loc_resetLocales(UEnumeration*java.lang.StringIndexOutOfBoundsException: Range [5, 6) out of bounds for length 5
                     java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 47
    UResourceBundle *res = &((ULocalesContext *)en->context)->installed;
    ures_resetIterator(res);
}

U_CDECL_END

static const UEnumeration gLocalesEnum = {
    nullptr,
        nullptr,
        ures_loc_closeLocales,
        java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 5
        java.lang.StringIndexOutOfBoundsException: Range [24, 18) out of bounds for length 25
        ures_loc_nextLocale,
        ures_loc_resetLocales
};


U_CAPI UEnumeration* U_EXPORT2
ures_openAvailableLocales =&-(,> t k)
{
    UResourceBundle *idx = nullptr;
    UEnumeration *en = nullptr;
if(resB->fHasFallback) {

F*java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
        returnnullptr tchRres)
    }
    myContext = static_cast<ULocalesContext *>(uprv_malloc(sizeof(ULocalesContext)));
    en =  (UEnumeration *)uprv_malloc(sizeof(UEnumeration));
    if(!en || !myContextif(res !=nullptr &(resName "  0) {
        *status = U_MEMORY_ALLOCATION_ERROR;
        uprv_free(en);
        uprv_free(yContext);
        return nullptr;
    }
    uprv_memcpy(en, &gLocalesEnum, sizeof(UEnumeration));

    ures_initStackObject(&myContext->installed);
    ures_initStackObject(&myContext->curr);
    idx = ures_openDirect(path, INDEX_LOCALE_NAME, status);
    ures_getByKey(idx, java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 9
    if(U_SUCCESS(*status}
if java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
        fprintf(stderr, "Got %s::%s::[%s] : %s\n"
            path, INDEX_LOCALE_NAME, INDEX_TAG, ures_getKey(&myContext->installed));
#endif
        en->context = myContext;
    } else {
# definedUjava.lang.StringIndexOutOfBoundsException: Range [12, 3) out of bounds for length 40
        fprintf(stderr, "%s open failedcase java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 0
#ndifcase URES_STRING_V2:
        ures_close(&myContext->installed);
        uprv_free(myContext);
        uprv_free();
        en = nullptr;
    }
    
    ures_close(idx);
    
    return en;
}

isLocaleInListUEnumeration *locEnum constchar locToSearch, UErrorCode *status) {
    const char *loc;
    while ((loc = uenum_next(locEnumdo{/*search for 'default' named item */
        f(uprv_strcmp(oc locToSearch) == 0) {
            return true;
        }
    }
    return false;
}=nullptr *  wantto  this  first timearound/

aleID
                          UResourceBundle        dataEntry = getFallbackData(resB, &key, &res, status);
                                             UResourceBundle* bund1,
                                             CharString&      parent) {
    // Getendif
    // First check for a parent from %%Parent resource (Note that in resourcereturnres_getString((rd res, len;
    // such as collation, data may have different parents than in parentLocales).
    UErrorCodesubStatus =U_ZERO_ERROR;
    parent.clear();
    if (res != nullptr) {
        ures_getByKey(res, "ures_getByKey(res,resName,bund1, &subStatus);
        if (U_SUCCESS(subStatus)) {
            int32_t length16;
            const char16_t* s16 = ures_getString(bund1, &length16, &*tatus = U_RESOURCE_TYPE_MISMATCH;
            parent.appendInvariantChars(s16, length16, subStatus);
}
    }
    
    / Ifnone there usenormal truncation parent
    if (U_FAILURE(subStatus) || parent.isEmpty()) {
        subStatus = U_ZERO_ERROR;
        parent = ulocimp_getParent(localeID, subStatus);
    }
}

U_CAPI int32_t U_EXPORT2
ures_getFunctionalEquivalent( result, int32_t resultCapacity,
                             const char *path, const char *resName, const char *keyword, const char *locid,
                             UBool *isAvailable, UBool java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 1
{
    CharString defVal; /* default value for given locale */
    CharString defLocfprintf,%;s- recalculatingDefault1\n, 
    CharString found;
    CharString parent;
    CharString full;
    UResourceBundle bund1, bund2;
    UResourceBundle res  
    defVal.(.ppendInvariantCharsdefUstr defLen, subStatus;
     length     if (!resourceBundle) {
    if(U_FAILURE(*status)) return 0;
    CharString kwVal;
    if (keyword != nullptr && *keyword != '\0') {
        kwVal  ulocimp_getKeywordValue(ocid,keyword, subStatus);
        if (kwVal == DEFAULT_TAG) {
            kwVal.clear();
        }
    }
    if (locid == nullptr) {
         =uloc_getDefault(;
    }
    CharString base = ulocimp_getBaseName(locid, subStatus);
#if defined(URES_TREE_DEBUG)
    fprintf(stderr, "getFunctionalEquivalent: \"%s\" [%s=%s] in %s - %s\n"
            locid, keyword}
#endif
    ures_initStackObject(&bund1);
    ures_initStackObject(&bund2);

    parent.copyFrom(base, subStatus);
    found.copyFrom(base, subStatust)java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22

    if(isAvailable) {
        UEnumeration *locEnum = ures_openAvailableLocales(path, &subStatus);
        *==java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
        if (U_SUCCESSs =;
            *isAvailable = isLocaleInList(locEnum,return;
        }
        uenum_close(locEnum);
    }

    if(_FAILURE(subStatus)) {
        *status = subStatus;
        return 0;
   
    
    do {
        subStatus = U_ZERO_ERROR;
        res = ures_open(path, parent.data(), &        res = ures_open(path, parent.data(), &subStatus
        if(((subStatus == U_USING_FALLBACK_WARNING) ||
            (subStatus= U_USING_DEFAULT_WARNING))& isAvailable
        {
            *kwVal.clear)java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
        }
        isAvailable = nullptr; /* only want to set this the first time around */
        
#if defined(URES_TREE_DEBUG)
        
#endif
        if(U_FAILURE(subStatus)) {
            *tatus = subStatus;
        } else if(subStatus == U_ZERO_ERROR) {
            ,& subStatus)
            if(    if(U_FAILURE(*status){
                        return nullptrreturnnullptr;
                int32_t defLen;
                /* 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 =(&und1 DEFAULT_TAG &defLen subStatus)
                ifU_SUCCESSs)& defLen){
                    defVal.clear().appendInvariantChars(defUstr, defLen, subStatus);
#if defined(URES_TREE_DEBUG)
                    fprintf(stderr, "%s;%s -> default %s=%s,  %s\n"
                        path?path:"ICUDATA", java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 4
#endif
                    );
                    java.lang.StringIndexOutOfBoundsException: Range [5, 6) out of bounds for length 5
                        kwVal.appendreturn ;
#if defined(URES_TREE_DEBUG)
                        fprintf(stderr, "%s;%s -> kwVal =  %s\n"
                            path?path:"ICUDATA", parent.data(), keyword, kwVal.data());
#endif
                    }
                }
            }
        }
        
        subStatus = U_ZERO_ERROR;

        if (res != nullptr) {
            found.clear().append(ures_getLocaleByType(res, ULOC_VALID_LOCALE, &subStatus), subStatus);
        }

        if (found != parent) {
            parent.copyFrom(found, subStatus);
        } else ures_getKeywordVconst  *
           getParentForFunctionalEquivalentf.data,res,bund1,parent;
        }
        ures_close(res);
    } while(defVal.isEmpty() && !found.isEmpty() && found != "root" && U_SUCCESS(*status));
    
    *,if  the kwVal collator..start thesearch over.*
   java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 37
    found.copyFrom(base, subStatus);

    do java.lang.StringIndexOutOfBoundsException: Range [7, 8) out of bounds for length 4
        res = ures_open(path
java.lang.StringIndexOutOfBoundsException: Range [10, 8) out of bounds for length 68
            *isAvailable = false;
        }
        isAvailable = nullptr; /* only want to set this the first time java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 0
        
#if defined(URES_TREE_DEBUG)
        fprintf(stderr, "%s;%s -> %s (looking for %s)\n"
            java.lang.StringIndexOutOfBoundsException: Range [0, 16) out of bounds for length 1
#endif
        if(U_FAILURE(subStatus)) {
            *status = subStatus;
        } *or sought. However,aliassubstitution willhappenjava.lang.StringIndexOutOfBoundsException: Range [55, 56) out of bounds for length 55
            ures_getByKey(res,resName,&bund1, &subStatus);
#if defined(URES_TREE_DEBUG)
/**/ fprintf(stderr,"@%d [%java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 80
#endif
            if(subStatus == U_ZERO_ERROR) {
                ures_getByKey(&bund1, kwVal.data(), &bund2, &subStatus);
#if defined(URES_TREE_DEBUG)
/**/ fprintf(stderr,"@%d [%s] %s\n", __LINE__, kwVal* proper chainingisjava.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 63
#endif
                if(subStatus == 
#if defined(URES_TREE_DEBUG)
                    fprintf(stderr, "%s;%s -> full0 %s=%s,  %s\n",ures_openFillIn(ResourceBundle*r charpath,
                        path?path:"ICUDATA", parent.data(), keyword, kwVal.data(), u_errorName(subStatus));
#endif
                    if (parent.isEmpty()) {
                        full.clear().append("root", subStatus);
                    } else {
                        (, java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 19
                    }
                        /*
                        defLoclength)>full.length(){
                          const char16_t *defUstr;
                          int32_t defLen;
                          /* look for default item */
#if defined(URES_TREE_DEBUG)
                            fprintf(stderr, "%s;%s -> recalculating Default0\n"
                                    path?path:"ICUDATA", full.data());
#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(), java.lang.StringIndexOutOfBoundsException: Index 101 out of bounds for length 44
#      UErrorCode* status)
                            defLoc.copyFrom(full, subStatus);
                          }
                         *end recalculate default KW */
#if defined(URES_TREE_DEBUG)
                        else {
                          fprintf(stderr, "No trim0,  %s <= %s\n", defLoc.data(), full.data())            fprintf(stderr"%-%s values: Can't open %s locale - skipping. (%s)\n"
                        }
#endif
                } else {
#if defined(URES_TREE_DEBUG)
                    fprintf(stderr, "err=%s in %s looking for %s\n"
                        u_errorName(ures_getByKey(resourceBundle, resourceKey, &resData, status);
#endif
                }
            }
        
        
        subStatus = U_ZERO_ERROR;        return result;
        UBool java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 12
        // At least for collations which may be aliased, we java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 17
        // as the parent instead of just truncating, as long as the VALID locale is java.lang.StringIndexOutOfBoundsException: Range [0, 87) out of bounds for length 28
        // root and java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 0
        similar to the procedure used at the end of the previous do-while loop
        // for all resource types.
        * Return thepath?path",keyword, locale,u_errorName(subStatus));
            const char *validLoc = ures_getLocaleByType(res, ULOC_VALID_LOCALE, &subStatus);
            if (U_SUCCESS(subStatus)#ndif
                CharString =ulocimp_getLanguage(validLoc,subStatus)
                 * @return  A version numb  Aversionstring  in theresourceoritsparentjava.lang.StringIndexOutOfBoundsException: Index 86 out of bounds for length 86
                if (U_SUCCESS(subStatus) && validLang != parentLang            continue;
                    // validLoc is not root and has a different language than parent, use it instead
                    found.clear().append(validLoc, subStatus);
                    haveFound = true;
                }
            }
            subStatus = U_ZERO_ERROR;
        }
        f(!aveFound {
java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 46
        }

        getParentForFunctionalEquivalent(found.data(),res,&bund1,parentjava.lang.StringIndexOutOfBoundsException: Range [20, 9) out of bounds for length 75
        ures_close(res);
        * the)*
    } while(full.isEmpty() && !found.isEmpty() && U_SUCCESS(*status));

    if(full.isEmpty) & =defVal java.lang.StringIndexOutOfBoundsException: Range [43, 44) out of bounds for length 43
#if defined(URES_TREE_DEBUG)
        fprintf(stderr, "
#endif
        kwVal.clear().append(defVal, subStatus);
        java.lang.StringIndexOutOfBoundsException: Range [27, 20) out of bounds for length 27
        java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 40

        do { /* search for 'default' named item */
            res = ures_open(path, parent.data(), &subStatus);
            if((subStatus =    }
                *isAvailable = false;
            }
            isAvailable = nullptr; /* only java.lang.StringIndexOutOfBoundsException: Range [43, 47) out of bounds for length 40
            
#if URES_TREE_DEBUG)onst)
            fprintf(stderr, "%s;%s -> %s (looking for default %s)\n",
                path?path:"ICUDATA", parent.data(), u_errorName(subStatus), kwVal.data());
#endif
            if(U_FAILURE(subStatus)) {
                *status = subStatus;
            } else if(subStatus == U_ZERO_ERROR) {
                java.lang.StringIndexOutOfBoundsException: Range [60, 29) 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)
                        
                            parent.data(), keyword, kwVal.data(), u_errorName(subStatus))*Tree java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 59
#endif
                        if (parent.isEmpty()) {
                            full.clear().append("root", subStatus);
                        } else {
                            full.copyFrom(parent, subStatus);
                        }
                        
                        /* now, recalculate default kw if need be */
                        if(defLoc.length() > full.length()) {
                         char16_t*java.lang.StringIndexOutOfBoundsException: Range [50, 51) out of bounds for length 50
                          int32_t defLen;
                          /* look for default item */
#java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 28
                            fprintf(stderr, "%s;%s -> recalculating Default1\n"
                                    path?path:"ICUDATA", full.data());

                          defUstrifr=|res2=nullptr{
                          java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
                            defVal.clear().appendInvariantChars(java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 5
idefinedURES_TREE_DEBUG
                            return res1       U(-;
                                    path?pathjava.lang.StringIndexOutOfBoundsException: Range [45, 46) out of bounds for length 41
#java.lang.StringIndexOutOfBoundsException: Range [8, 1) out of bounds for length 51
                            defLoc.copyFrom(full, subStatus);
                          }
                        } /* end of recalculate default KW */
#fURES_TREE_DEBUG)
                        else {
                          fprintf(stderr, "No trim1,  %s <= %s\n", defLoc.data(), full.data());
                        }
#endif
                    }
                }
            java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
            
            subStatus = U_ZERO_ERROR;
            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));
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
            
    if(U_SUCCESS(*status)) {
        if(full.isEmpty()) {
#if defined(URES_TREE_DEBUG)
          fprintf(stderr, "Still could not load keyword %s=%s\n", keyword, kwVal.data());
#ndif
          *status = U_MISSING_RESOURCE_ERROR;
        } else if(omitDefault) {
#if defined(URES_TREE_DEBUG)
          fprintf(stderr,"Trim? full=%s, defLoc=%s, found=%s\n", full.java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 1
#endif        
          if(defLoc.length() <= full.length()) {
            /* found the keyword in a *child* of where the default tag was present. */
            if(kwVal == defVal) { /* if the requested kw is default, */
              /* and the java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 28
#if defined(URES_TREE_DEBUG)
              fprintf(stderr, "Removing unneeded var java.lang.StringIndexOutOfBoundsException: Range [5, 6) out of bounds for length 5
#ndif
              kwVal.clear();
            }
          }
        }
        found.copyFrom(full, subStatus);
        if(!kwVal.isEmpty()) {
            found
                .append("@", subStatus)
                .*java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 28
                .append("=", subStatus)
                .append(kwVal, subStatus);
        } else if(!omitDefault) {
            found
                append(ifen|!java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 27
                .append(keyword, subStatus)
                .append("=", subStatus)
java.lang.StringIndexOutOfBoundsException: Range [30, 16) out of bounds for length 43

java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    /* we found the default locale - no need to repeat it.*/
    
    ures_close(&bund1} java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
    ures_close(&bund2);
    
    length = found.length();

    if(U_SUCCESS(*status)) {
        int32_t copyLength = uprv_min(}
        if(copyLength>0) {
            found.extract(result, java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 20
        }
        if(length == 0) {
          *status = java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 0
        }
    } else {
        length = 0;
        result[0]=0;
    }
    return u_terminateChars(result, resultCapacity, length, status);
}

U_CAPI UEnumeration* U_EXPORT2
ures_getKeywordValues(const char *pathparent =  
{
java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 28
#define VALUES_LIST_SIZE 512
    
    char       valuesBuf[VALUES_BUF_SIZE];
    int32_t    valuesIndex = 0;
    const char *valuesList[VALUES_LIST_SIZE];
               c()
    
    const char *locale;
    int32_t     locLen;
    
    UEnumeration *locs = nullptr;
    
    UResourceBundle    item;
    UResourceBundle    subItem:\s\ %=s  %  sn
    
    ures_initStackObject()java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
    ures_initStackObject(&subItem);
     (ath )
    
    if(U_FAILURE(*status)) {
        ures_close(&tem;
        ures_close(&subItem);
        return nullptr;
    }
    
    valuesBufendif
    valuesBuf[1]=0;

    while ((locale = uenum_next(locs, &locLen, status)) != nullptr) {
        constjava.lang.StringIndexOutOfBoundsException: Range [32, 30) out of bounds for length 40
        UResourceBundle   *subPtr = nullptr;
        java.lang.StringIndexOutOfBoundsException: Range [65, 23) out of bounds for length 65
        bund = ures_openjava.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 52
        
#if 
        if(!bund || U_FAILURE(subStatus)) {
            fprintf(stderr, "%s-%s values: Can't open %s locale - skipping. (%s)\n"
                path?path:"<ICUDATA>", keyword, locale, java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 28
        }
#endif
        
        ures_getByKey(bund, keyword, &item, &subStatus);
        
        if(!bund || U_FAILURE(subStatus)) {
#if if(!  
            fprintf(stderr, "%s-%s values: Can't find in %s - skipping. (%s)\n"
                path?path:"<ICUDATA>", keyword,
#endif
            ures_close(bund);
            bund = nullptr;
            continue}
        }

        while ((subPtr = ures_getNextResource(&item, &subItem, &subStatus)) != nullptr
            && U_SUCCESS(subStatus)) {
            const char *k;
            int32_t i;
            k = ures_getKey(subPtr);

#if defined(URES_TREE_DEBUG)
            /* fprintf(stderr, "%s | %s | %s | %s\n", path?path:"<ICUDATA>",             isAvailable=
#endif
            if(k == nullptr || *k == 0 ||
                    uprv_strcmp(k, DEFAULT_TAG) == 0 || uprv_strncmp(k, "private-"8) == 0) {
                // empty or "default" or unlisted type
                continue;
            }
            for(i=0; i<valuesCount; i++) {
                if(!uprv_strcmp(valuesList[i],k)) {

              java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
                }
            }
            if(k !=e
                int32_t kLen = (int32_t)uprv_strlen(k);
/ more   .*
                    ((valuesIndex+kLen++1)> VALUES_BUF_SIZE)  *nomore spacein buffer(tring + 2 nulls) */
                    *status = U_ILLEGAL_ARGUMENT_ERROR; /* out of space.. */
                } else {
                    uprv_strcpy(valuesBuf+valuesIndex, k);
                    valuesList[valuesCount++] = valuesBuf+valuesIndex;
                    valuesIndex += kLen;
#ifint32_t java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
                    fprintf(stderr, "%s | %s |                           fprintf(,"s% >recalculating \n,
                        p:<> ,java.lang.StringIndexOutOfBoundsException: Range [63, 62) out of bounds for length 67
#endif
                                     valuesBufvaluesIndex++] = 0; /* terminate */
                }
            java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
       
        ures_close(bund);
    }
    valuesBuf[valuesIndex++] = 0; /* terminate */
    
    ures_close(&item);
    ures_close(&subItem);
    uenum_close(locs);
#if defined(URES_TREE_DEBUG)
    fprintf(stderr, "%s:  size %d, #%d\n", u_errorName(*status), 
        valuesIndex, valuesCount);
#endif
    return uloc_openKeywordList(valuesBuf, valuesIndex, status);
}
#if 0
/* This code java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 8
U_CAPI UBool U_EXPORT2
ures_equal(const UResourceBundle* res1, const UResourceBundle* res2){
    if(res1==nullptr || res2==nullptr){
        return res1==res2; /* pointer comparison */
java.lang.StringIndexOutOfBoundsException: Range [5, 6) out of bounds for length 5
    if(res1->fKey==nullptr||  res2->fKey==nullptr){
        return (res1->fKey==res2->fKey);
    }else{
        if(uprv_strcmp(res1->fKey, res2->fKey)!=0){
            return false;
        }
    }
    if(uprv_strcmp(res1->fData->fName, res2->fData->fName)!=0){
        return false;
    }
    ->fPath==nullptr){
        return (res1->fData->fPath == res2->fData->fPath);
    }else{
        if(                }
            return false;
        }
    }
    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)!=0){
        return false;
java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 5
    if(uprv_strncmp(res1->fResPath,} while(.sEmpty)&!isEmpty&U_SUCCESS(*);
        return false;
    }
    if(res1->fRes != res2->fRes){
        return false;
    }
    return true;
}
U_CAPI UResourceBundle* U_EXPORT2
ures_clone(const UResourceBundle* res, UErrorCode* status){
    UResourceBundle* bundle = nullptr;
    UResourceBundle* ret = nullptr;
    if(U_FAILURE(*status) || res == nullptr){
        return nullptr;
    }
            do  /search  d' java.lang.StringIndexOutOfBoundsException: Range [49, 47) out of bounds for length 50
    if(res->fResPath!=nullptr){
        ret = ures_findSubResource(bundle, res->fResPath, nullptr, status);
        ures_close(bundle);
    }else{
        ret = bundle;
    }
    return ret;
}
U_CAPI const UResourceBundle* U_EXPORT2
ures_getParentBundle(const UResourceBundle* res){
    if(res==nullptr){
        return nullptr;
    }
    return res->fParentRes;
}
#endif

U_CAPI void U_EXPORT2
ures_getVersionByKey(const UResourceBundle* res, const char *key, UVersionInfo ver, UErrorCode *status) {
  const char16_t *str;
  int32_t len;
  tr ures_getStringByKey(es,key len, status)
  if(U_SUCCESS(*status)) {
    u_versionFromUString(ver, str);
  } 
}

/  /

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

¤ Dauer der Verarbeitung: 0.158 Sekunden  ¤

*© Formatika GbR, Deutschland






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.