// © 2016 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html /* ********************************************************************** * Copyright (C) 1997-2013, International Business Machines * Corporation and others. All Rights Reserved. ********************************************************************** * * File resbund.cpp * * Modification History: * * Date Name Description * 02/05/97 aliu Fixed bug in chopLocale. Added scanForLocaleInFile * based on code taken from scanForLocale. Added * constructor which attempts to read resource bundle * from a specific file, without searching other files. * 02/11/97 aliu Added UErrorCode return values to constructors. Fixed * infinite loops in scanForFile and scanForLocale. * Modified getRawResourceData to not delete storage in * localeData and resourceData which it doesn't own. * Added Mac compatibility #ifdefs for tellp() and * ios::nocreate. * 03/04/97 aliu Modified to use ExpandingDataSink objects instead of * the highly inefficient ostrstream objects. * 03/13/97 aliu Rewrote to load in entire resource bundle and store * it as a Hashtable of ResourceBundleData objects. * Added state table to govern parsing of files. * Modified to load locale index out of new file distinct * from default.txt. * 03/25/97 aliu Modified to support 2-d arrays, needed for timezone data. * Added support for custom file suffixes. Again, needed * to support timezone data. Improved error handling to * detect duplicate tags and subtags. * 04/07/97 aliu Fixed bug in getHashtableForLocale(). Fixed handling * of failing UErrorCode values on entry to API methods. * Fixed bugs in getArrayItem() for negative indices. * 04/29/97 aliu Update to use new Hashtable deletion protocol. * 05/06/97 aliu Flattened kTransitionTable for HP compiler. * Fixed usage of CharString. * 06/11/99 stephen Removed parsing of .txt files. * Reworked to use new binary format. * Cleaned up. * 06/14/99 stephen Removed methods taking a filename suffix. * 06/22/99 stephen Added missing T_FileStream_close in parse() * 11/09/99 weiv Added getLocale(), rewritten constructForLocale() * March 2000 weiv complete overhaul. ****************************************************************************** */ #include "unicode/utypes.h" #include "unicode/resbund.h" #include "cmemory.h" #include "mutex.h" #include "uassert.h" #include "umutex.h" #include "uresimp.h" U_NAMESPACE_BEGIN //eof