diff options
Diffstat (limited to 'Build/source/libs/icu/icu-xetex/common/resbund_cnv.cpp')
-rw-r--r-- | Build/source/libs/icu/icu-xetex/common/resbund_cnv.cpp | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-xetex/common/resbund_cnv.cpp b/Build/source/libs/icu/icu-xetex/common/resbund_cnv.cpp new file mode 100644 index 00000000000..a18e57e3106 --- /dev/null +++ b/Build/source/libs/icu/icu-xetex/common/resbund_cnv.cpp @@ -0,0 +1,55 @@ +/* +******************************************************************************* +* +* Copyright (C) 1997-2006, International Business Machines +* Corporation and others. All Rights Reserved. +* +******************************************************************************* +* file name: resbund_cnv.cpp +* encoding: US-ASCII +* tab size: 8 (not used) +* indentation:4 +* +* created on: 2004aug25 +* created by: Markus W. Scherer +* +* Character conversion functions moved here from resbund.cpp +*/ + +#include "unicode/utypes.h" +#include "unicode/resbund.h" +#include "uinvchar.h" + +U_NAMESPACE_BEGIN + +ResourceBundle::ResourceBundle( const UnicodeString& path, + const Locale& locale, + UErrorCode& error) + :UObject(), fLocale(NULL) +{ + constructForLocale(path, locale, error); +} + +ResourceBundle::ResourceBundle( const UnicodeString& path, + UErrorCode& error) + :UObject(), fLocale(NULL) +{ + constructForLocale(path, Locale::getDefault(), error); +} + +void +ResourceBundle::constructForLocale(const UnicodeString& path, + const Locale& locale, + UErrorCode& error) +{ + if (path.isEmpty()) { + fResource = ures_open(NULL, locale.getName(), &error); + } + else { + UnicodeString nullTerminatedPath(path); + nullTerminatedPath.append((UChar)0); + fResource = ures_openU(nullTerminatedPath.getBuffer(), locale.getName(), &error); + } +} + +U_NAMESPACE_END |