tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

resbund_cnv.cpp (1788B)


      1 // © 2016 and later: Unicode, Inc. and others.
      2 // License & terms of use: http://www.unicode.org/copyright.html
      3 /*
      4 *******************************************************************************
      5 *
      6 *   Copyright (C) 1997-2006, International Business Machines
      7 *   Corporation and others.  All Rights Reserved.
      8 *
      9 *******************************************************************************
     10 *   file name:  resbund_cnv.cpp
     11 *   encoding:   UTF-8
     12 *   tab size:   8 (not used)
     13 *   indentation:4
     14 *
     15 *   created on: 2004aug25
     16 *   created by: Markus W. Scherer
     17 *
     18 *   Character conversion functions moved here from resbund.cpp
     19 */
     20 
     21 #include "unicode/utypes.h"
     22 #include "unicode/resbund.h"
     23 #include "uinvchar.h"
     24 
     25 U_NAMESPACE_BEGIN
     26 
     27 ResourceBundle::ResourceBundle( const UnicodeString&    path,
     28                                const Locale&           locale,
     29                                UErrorCode&              error)
     30                                :UObject(), fLocale(nullptr)
     31 {
     32    constructForLocale(path, locale, error);
     33 }
     34 
     35 ResourceBundle::ResourceBundle( const UnicodeString&    path,
     36                                UErrorCode&              error)
     37                                :UObject(), fLocale(nullptr)
     38 {
     39    constructForLocale(path, Locale::getDefault(), error);
     40 }
     41 
     42 void 
     43 ResourceBundle::constructForLocale(const UnicodeString& path,
     44                                   const Locale& locale,
     45                                   UErrorCode& error)
     46 {
     47    if (path.isEmpty()) {
     48        fResource = ures_open(nullptr, locale.getName(), &error);
     49    }
     50    else {
     51        UnicodeString nullTerminatedPath(path);
     52        nullTerminatedPath.append(static_cast<char16_t>(0));
     53        fResource = ures_openU(nullTerminatedPath.getBuffer(), locale.getName(), &error);
     54    }
     55 }
     56 
     57 U_NAMESPACE_END