bms.h   bms.h 
skipping to change at line 17 skipping to change at line 17
* \file * \file
* \brief C API: Boyer-Moore StringSearch prototype. * \brief C API: Boyer-Moore StringSearch prototype.
* \internal * \internal
*/ */
#ifndef _BMS_H #ifndef _BMS_H
#define _BMS_H #define _BMS_H
#include "unicode/utypes.h" #include "unicode/utypes.h"
#if !UCONFIG_NO_COLLATION #if !UCONFIG_NO_COLLATION && !UCONFIG_NO_BREAK_ITERATION
#include "unicode/ucol.h" #include "unicode/ucol.h"
/** /**
* A <code>UCD</code> object holds the Collator-specific data needed to * A <code>UCD</code> object holds the Collator-specific data needed to
* compute the length of the shortest string that can * compute the length of the shortest string that can
* generate a partcular list of CEs. * generate a partcular list of CEs.
* *
* <code>UCD</code> objects are quite expensive to compute. Because * <code>UCD</code> objects are quite expensive to compute. Because
* of this, they are cached. When you call <code>ucd_open</code> it * of this, they are cached. When you call <code>ucd_open</code> it
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 bmsearch.h   bmsearch.h 
skipping to change at line 19 skipping to change at line 19
* \file * \file
* \brief C++ API: Boyer-Moore StringSearch technology preview * \brief C++ API: Boyer-Moore StringSearch technology preview
* \internal ICU 4.0.1 technology preview * \internal ICU 4.0.1 technology preview
*/ */
#ifndef B_M_SEARCH_H #ifndef B_M_SEARCH_H
#define B_M_SEARCH_H #define B_M_SEARCH_H
#include "unicode/utypes.h" #include "unicode/utypes.h"
#if !UCONFIG_NO_COLLATION #if !UCONFIG_NO_COLLATION && !UCONFIG_NO_BREAK_ITERATION
#include "unicode/uobject.h" #include "unicode/uobject.h"
#include "unicode/ucol.h" #include "unicode/ucol.h"
#include "unicode/colldata.h" #include "unicode/colldata.h"
U_NAMESPACE_BEGIN U_NAMESPACE_BEGIN
class BadCharacterTable; class BadCharacterTable;
class GoodSuffixTable; class GoodSuffixTable;
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 locid.h   locid.h 
/* /*
*************************************************************************** *** *************************************************************************** ***
* *
* Copyright (C) 1996-2006, International Business Machines * Copyright (C) 1996-2009, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
* *
*************************************************************************** *** *************************************************************************** ***
* *
* File locid.h * File locid.h
* *
* Created by: Helena Shih * Created by: Helena Shih
* *
* Modification History: * Modification History:
* *
skipping to change at line 633 skipping to change at line 633
* Returns a list of all installed locales. * Returns a list of all installed locales.
* @param count Receives the number of locales in the list. * @param count Receives the number of locales in the list.
* @return A pointer to an array of Locale objects. This array is the list * @return A pointer to an array of Locale objects. This array is the list
* of all locales with installed resource files. The call ed does NOT * of all locales with installed resource files. The call ed does NOT
* get ownership of this list, and must NOT delete it. * get ownership of this list, and must NOT delete it.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
static const Locale* U_EXPORT2 getAvailableLocales(int32_t& count); static const Locale* U_EXPORT2 getAvailableLocales(int32_t& count);
/** /**
* Gets a list of all available 2-letter country codes defined in ISO 6 39. This is a * Gets a list of all available 2-letter country codes defined in ISO 3 166. This is a
* pointer to an array of pointers to arrays of char. All of these poi nters are * pointer to an array of pointers to arrays of char. All of these poi nters are
* owned by ICU-- do not delete them, and do not write through them. T he array is * owned by ICU-- do not delete them, and do not write through them. T he array is
* terminated with a null pointer. * terminated with a null pointer.
* @return a list of all available country codes * @return a list of all available country codes
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
static const char* const* U_EXPORT2 getISOCountries(); static const char* const* U_EXPORT2 getISOCountries();
/** /**
* Gets a list of all available language codes defined in ISO 639. Thi s is a pointer * Gets a list of all available language codes defined in ISO 639. Thi s is a pointer
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 platform.h   platform.h 
/* /*
*************************************************************************** *** *************************************************************************** ***
* *
* Copyright (C) 1997-2009, International Business Machines * Copyright (C) 1997-2009, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
* *
*************************************************************************** *** *************************************************************************** ***
* *
* Note: autoconf creates platform.h from platform.h.in at configure time.
*
***************************************************************************
***
*
* FILE NAME : platform.h * FILE NAME : platform.h
* *
* Date Name Description * Date Name Description
* 05/13/98 nos Creation (content moved here from ptypes.h). * 05/13/98 nos Creation (content moved here from ptypes.h).
* 03/02/99 stephen Added AS400 support. * 03/02/99 stephen Added AS400 support.
* 03/30/99 stephen Added Linux support. * 03/30/99 stephen Added Linux support.
* 04/13/99 stephen Reworked for autoconf. * 04/13/99 stephen Reworked for autoconf.
*************************************************************************** *** *************************************************************************** ***
*/ */
#ifndef _PLATFORM_H #ifndef _PLATFORM_H
#define _PLATFORM_H #define _PLATFORM_H
/** /**
* \file * \file
* \brief Basic types for the platform * \brief Basic types for the platform
*/ */
/* This file should be included before uvernum.h. */
#if defined(UVERNUM_H)
# error Do not include unicode/uvernum.h before #including unicode/platform
.h. Instead of unicode/uvernum.h, #include unicode/uversion.h
#endif
/* Determine wheter to enable auto cleanup of libraries. */
#ifndef UCLN_NO_AUTO_CLEANUP
#define UCLN_NO_AUTO_CLEANUP 1
#endif
/* Need platform.h when using CYGWINMSVC to get definitions above. Ignore e
verything else. */
#ifndef CYGWINMSVC
/* Define the platform we're on. */ /* Define the platform we're on. */
#ifndef U_LINUX #ifndef U_LINUX
#define U_LINUX #define U_LINUX
#endif #endif
/** /**
* \def U_HAVE_DIRENT_H * \def U_HAVE_DIRENT_H
* Define whether dirent.h is available */ * Define whether dirent.h is available */
#ifndef U_HAVE_DIRENT_H #ifndef U_HAVE_DIRENT_H
#define U_HAVE_DIRENT_H 1 #define U_HAVE_DIRENT_H 1
skipping to change at line 110 skipping to change at line 127
#define U_HAVE_INT64_T 1 #define U_HAVE_INT64_T 1
#endif #endif
#ifndef U_HAVE_UINT64_T #ifndef U_HAVE_UINT64_T
#define U_HAVE_UINT64_T 1 #define U_HAVE_UINT64_T 1
#endif #endif
/** @} */ /** @} */
/*========================================================================= ==*/ /*========================================================================= ==*/
/** @{ Generic data types /** @{ Compiler and environment features
*/ */
/*=========================================================================
==*/
#include <sys/types.h>
/* If your platform does not have the <inttypes.h> header, you may
need to edit the typedefs below. */
#if U_HAVE_INTTYPES_H
/* autoconf 2.13 sometimes can't properly find the data types in <inttypes.
h> */
/* os/390 needs <inttypes.h>, but it doesn't have int8_t, and it sometimes
*/
/* doesn't have uint8_t depending on the OS version. */
/* So we have this work around. */
#ifdef OS390
/* The features header is needed to get (u)int64_t sometimes. */
#include <features.h>
#if ! U_HAVE_INT8_T
typedef signed char int8_t;
#endif
#if !defined(__uint8_t)
#define __uint8_t 1
typedef unsigned char uint8_t;
#endif
#endif /* OS390 */
#include <inttypes.h>
#else /* U_HAVE_INTTYPES_H */
#if ! U_HAVE_INT8_T
typedef signed char int8_t;
#endif
#if ! U_HAVE_UINT8_T
typedef unsigned char uint8_t;
#endif
#if ! U_HAVE_INT16_T
typedef signed short int16_t;
#endif
#if ! U_HAVE_UINT16_T
typedef unsigned short uint16_t;
#endif
#if ! U_HAVE_INT32_T
typedef signed int int32_t;
#endif
#if ! U_HAVE_UINT32_T
typedef unsigned int uint32_t;
#endif
#if ! U_HAVE_INT64_T
typedef signed long long int64_t;
/* else we may not have a 64-bit type */
#endif
#if ! U_HAVE_UINT64_T
typedef unsigned long long uint64_t;
/* else we may not have a 64-bit type */
#endif
#endif
/** @} */
/*=========================================================================
==*/
/** @{ Compiler and environment features
*/
/*========================================================================= ==*/ /*========================================================================= ==*/
/* Define whether namespace is supported */ /* Define whether namespace is supported */
#ifndef U_HAVE_NAMESPACE #ifndef U_HAVE_NAMESPACE
#define U_HAVE_NAMESPACE 1 #define U_HAVE_NAMESPACE 1
#endif #endif
/* Determines the endianness of the platform /* Determines the endianness of the platform
It's done this way in case multiple architectures are being built at onc e. It's done this way in case multiple architectures are being built at onc e.
For example, Darwin supports fat binaries, which can be both PPC and x86 based. */ For example, Darwin supports fat binaries, which can be both PPC and x86 based. */
#if defined(BYTE_ORDER) && defined(BIG_ENDIAN) #if defined(BYTE_ORDER) && defined(BIG_ENDIAN)
#define U_IS_BIG_ENDIAN (BYTE_ORDER == BIG_ENDIAN) #define U_IS_BIG_ENDIAN (BYTE_ORDER == BIG_ENDIAN)
#else #else
#define U_IS_BIG_ENDIAN 0 #define U_IS_BIG_ENDIAN 0
#endif #endif
/* 1 or 0 to enable or disable threads. If undefined, default is: enable t hreads. */ /* 1 or 0 to enable or disable threads. If undefined, default is: enable t hreads. */
#ifndef ICU_USE_THREADS
#define ICU_USE_THREADS 1 #define ICU_USE_THREADS 1
#endif
/* On strong memory model CPUs (e.g. x86 CPUs), we use a safe & quick doubl e check lock. */ /* On strong memory model CPUs (e.g. x86 CPUs), we use a safe & quick doubl e check lock. */
#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) #if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
#define UMTX_STRONG_MEMORY_MODEL 1 #define UMTX_STRONG_MEMORY_MODEL 1
#endif #endif
#ifndef U_DEBUG #ifndef U_DEBUG
#define U_DEBUG 0 #define U_DEBUG 0
#endif #endif
skipping to change at line 236 skipping to change at line 187
/* Determine whether to enable tracing. */ /* Determine whether to enable tracing. */
#ifndef U_ENABLE_TRACING #ifndef U_ENABLE_TRACING
#define U_ENABLE_TRACING 0 #define U_ENABLE_TRACING 0
#endif #endif
/* Do we allow ICU users to use the draft APIs by default? */ /* Do we allow ICU users to use the draft APIs by default? */
#ifndef U_DEFAULT_SHOW_DRAFT #ifndef U_DEFAULT_SHOW_DRAFT
#define U_DEFAULT_SHOW_DRAFT 1 #define U_DEFAULT_SHOW_DRAFT 1
#endif #endif
/* Define the library suffix in a C syntax. */
#define U_HAVE_LIB_SUFFIX 0
#define U_LIB_SUFFIX_C_NAME
#define U_LIB_SUFFIX_C_NAME_STRING ""
/** @} */ /** @} */
/*========================================================================= ==*/ /*========================================================================= ==*/
/** @{ Character data types */ /** @{ Character data types */
/*========================================================================= ==*/ /*========================================================================= ==*/
#if ((defined(OS390) && (!defined(__CHARSET_LIB) || !__CHARSET_LIB))) || de fined(OS400) #if ((defined(OS390) && (!defined(__CHARSET_LIB) || !__CHARSET_LIB))) || de fined(OS400)
# define U_CHARSET_FAMILY 1 # define U_CHARSET_FAMILY 1
#endif #endif
skipping to change at line 345 skipping to change at line 291
/*#elif defined(__HP_aCC) || defined(__HP_cc) /*#elif defined(__HP_aCC) || defined(__HP_cc)
#define U_EXPORT __declspec(dllexport)*/ #define U_EXPORT __declspec(dllexport)*/
#else #else
#define U_EXPORT #define U_EXPORT
#endif #endif
/* U_CALLCONV is releated to U_EXPORT2 */ /* U_CALLCONV is releated to U_EXPORT2 */
#define U_EXPORT2 #define U_EXPORT2
/* cygwin needs to export/import data */ /* cygwin needs to export/import data */
#ifdef U_CYGWIN #if defined(U_CYGWIN) && !defined(__GNUC__)
#define U_IMPORT __declspec(dllimport) #define U_IMPORT __declspec(dllimport)
#else #else
#define U_IMPORT #define U_IMPORT
#endif #endif
/* @} */ /* @} */
/*========================================================================= ==*/ /*========================================================================= ==*/
/** @{ Code alignment and C function inlining */ /** @{ Code alignment and C function inlining */
/*========================================================================= ==*/ /*========================================================================= ==*/
skipping to change at line 372 skipping to change at line 318
# endif # endif
#endif #endif
#ifndef U_ALIGN_CODE #ifndef U_ALIGN_CODE
#define U_ALIGN_CODE(n) #define U_ALIGN_CODE(n)
#endif #endif
/** @} */ /** @} */
/*========================================================================= ==*/ /*========================================================================= ==*/
/** @{ GCC built in functions for atomic memory operations
*/
/*=========================================================================
==*/
#ifndef U_HAVE_GCC_ATOMICS
#define U_HAVE_GCC_ATOMICS 1
#endif
/** @} */
/*=========================================================================
==*/
/** @{ Programs used by ICU code */ /** @{ Programs used by ICU code */
/*========================================================================= ==*/ /*========================================================================= ==*/
/** /**
* \def U_MAKE * \def U_MAKE
* What program to execute to run 'make' * What program to execute to run 'make'
*/ */
#ifndef U_MAKE #ifndef U_MAKE
#define U_MAKE "/usr/bin/gmake" #define U_MAKE "/usr/bin/gmake"
#endif #endif
/** @} */ /** @} */
#endif /* CYGWINMSVC */
/*=========================================================================
==*/
/* Custom icu entry point renaming
*/
/*=========================================================================
==*/
/* Define the library suffix in a C syntax. */
# define U_LIB_SUFFIX_C_NAME
# define U_LIB_SUFFIX_C_NAME_STRING ""
# define U_HAVE_LIB_SUFFIX 0
#if U_HAVE_LIB_SUFFIX
# ifndef U_ICU_ENTRY_POINT_RENAME
/* Renaming pattern: u_strcpy_41_suffix */
# define U_ICU_ENTRY_POINT_RENAME(x) x ## _ ## 43 ##
# define U_DEF_ICUDATA_ENTRY_POINT(major, minor) icudt####major##minor##_d
at
# endif
#endif
#endif #endif
 End of changes. 9 change blocks. 
81 lines changed or deleted 61 lines changed or added


 pwin32.h   pwin32.h 
skipping to change at line 184 skipping to change at line 184
/** Define whether namespace is supported */ /** Define whether namespace is supported */
#ifndef U_HAVE_NAMESPACE #ifndef U_HAVE_NAMESPACE
#define U_HAVE_NAMESPACE 1 #define U_HAVE_NAMESPACE 1
#endif #endif
/** Determines the endianness of the platform */ /** Determines the endianness of the platform */
#define U_IS_BIG_ENDIAN 0 #define U_IS_BIG_ENDIAN 0
/** 1 or 0 to enable or disable threads. If undefined, default is: enable threads. */ /** 1 or 0 to enable or disable threads. If undefined, default is: enable threads. */
#ifndef ICU_USE_THREADS
#define ICU_USE_THREADS 1 #define ICU_USE_THREADS 1
#endif
/** 0 or 1 to enable or disable auto cleanup of libraries. If undefined, de
fault is: disabled. */
#ifndef UCLN_NO_AUTO_CLEANUP
#define UCLN_NO_AUTO_CLEANUP 1
#endif
/* On strong memory model CPUs (e.g. x86 CPUs), we use a safe & quick doubl e check mutex lock. */ /* On strong memory model CPUs (e.g. x86 CPUs), we use a safe & quick doubl e check mutex lock. */
/** /**
Microsoft can define _M_IX86, _M_AMD64 (before Visual Studio 8) or _M_X64 ( starting in Visual Studio 8). Microsoft can define _M_IX86, _M_AMD64 (before Visual Studio 8) or _M_X64 ( starting in Visual Studio 8).
Intel can define _M_IX86 or _M_X64 Intel can define _M_IX86 or _M_X64
*/ */
#if defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64) || (defined(__ GNUC__) && (defined(__i386__) || defined(__x86_64__))) #if defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64) || (defined(__ GNUC__) && (defined(__i386__) || defined(__x86_64__)))
#define UMTX_STRONG_MEMORY_MODEL 1 #define UMTX_STRONG_MEMORY_MODEL 1
#endif #endif
skipping to change at line 243 skipping to change at line 250
#ifndef U_ENABLE_TRACING #ifndef U_ENABLE_TRACING
#define U_ENABLE_TRACING 0 #define U_ENABLE_TRACING 0
#endif #endif
/** Do we allow ICU users to use the draft APIs by default? */ /** Do we allow ICU users to use the draft APIs by default? */
#ifndef U_DEFAULT_SHOW_DRAFT #ifndef U_DEFAULT_SHOW_DRAFT
#define U_DEFAULT_SHOW_DRAFT 1 #define U_DEFAULT_SHOW_DRAFT 1
#endif #endif
/** @{ Define the library suffix in a C syntax. */ /** @{ Define the library suffix in a C syntax. */
#ifndef U_HAVE_LIB_SUFFIX
#define U_HAVE_LIB_SUFFIX 0 #define U_HAVE_LIB_SUFFIX 0
#endif
#ifndef U_LIB_SUFFIX_C_NAME
#define U_LIB_SUFFIX_C_NAME #define U_LIB_SUFFIX_C_NAME
#endif
#ifndef U_LIB_SUFFIX_C_NAME_STRING
#define U_LIB_SUFFIX_C_NAME_STRING "" #define U_LIB_SUFFIX_C_NAME_STRING ""
#endif
/** @} */ /** @} */
/*========================================================================= ==*/ /*========================================================================= ==*/
/** @{ Information about wchar support */ /** @{ Information about wchar support */
/*========================================================================= ==*/ /*========================================================================= ==*/
#define U_HAVE_WCHAR_H 1 #define U_HAVE_WCHAR_H 1
#define U_SIZEOF_WCHAR_T 2 #define U_SIZEOF_WCHAR_T 2
#define U_HAVE_WCSCPY 1 #define U_HAVE_WCSCPY 1
 End of changes. 6 change blocks. 
0 lines changed or deleted 14 lines changed or added


 smpdtfmt.h   smpdtfmt.h 
skipping to change at line 844 skipping to change at line 844
/** /**
* Private member function that converts the parsed date strings into * Private member function that converts the parsed date strings into
* timeFields. Returns -start (for ParsePosition) if failed. * timeFields. Returns -start (for ParsePosition) if failed.
* @param text the time text to be parsed. * @param text the time text to be parsed.
* @param start where to start parsing. * @param start where to start parsing.
* @param ch the pattern character for the date field text to be parsed . * @param ch the pattern character for the date field text to be parsed .
* @param count the count of a pattern character. * @param count the count of a pattern character.
* @param obeyCount if true then the count is strictly obeyed. * @param obeyCount if true then the count is strictly obeyed.
* @param ambiguousYear If true then the two-digit year == the default start year. * @param ambiguousYear If true then the two-digit year == the default start year.
* @param saveHebrewMonth Used to hang onto month until year is known.
* @param cal a Calendar set to the date and time to be formatted * @param cal a Calendar set to the date and time to be formatted
* into a date/time string. * into a date/time string.
* @return the new start position if matching succeeded; a negative num ber * @return the new start position if matching succeeded; a negative num ber
* indicating matching failure, otherwise. * indicating matching failure, otherwise.
*/ */
int32_t subParse(const UnicodeString& text, int32_t& start, UChar ch, i nt32_t count, int32_t subParse(const UnicodeString& text, int32_t& start, UChar ch, i nt32_t count,
UBool obeyCount, UBool allowNegative, UBool ambiguousY ear[], Calendar& cal, UBool obeyCount, UBool allowNegative, UBool ambiguousY ear[], int32_t& saveHebrewMonth, Calendar& cal,
int32_t patLoc) const; int32_t patLoc) const;
void parseInt(const UnicodeString& text, void parseInt(const UnicodeString& text,
Formattable& number, Formattable& number,
ParsePosition& pos, ParsePosition& pos,
UBool allowNegative, UBool allowNegative,
NumberFormat *fmt) const; NumberFormat *fmt) const;
void parseInt(const UnicodeString& text, void parseInt(const UnicodeString& text,
Formattable& number, Formattable& number,
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 timezone.h   timezone.h 
skipping to change at line 524 skipping to change at line 524
enum EDisplayType { enum EDisplayType {
/** /**
* Selector for short display name * Selector for short display name
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
SHORT = 1, SHORT = 1,
/** /**
* Selector for long display name * Selector for long display name
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
LONG LONG,
/**
* Selector for short generic display name
* @draft ICU 4.4
*/
SHORT_GENERIC,
/**
* Selector for long generic display name
* @draft ICU 4.4
*/
LONG_GENERIC,
/**
* Selector for short display name derived
* from time zone offset
* @draft ICU 4.4
*/
SHORT_GMT,
/**
* Selector for long display name derived
* from time zone offset
* @draft ICU 4.4
*/
LONG_GMT,
/**
* Selector for short display name derived
* from the time zone's fallback name
* @draft ICU 4.4
*/
SHORT_COMMONLY_USED,
/**
* Selector for long display name derived
* from the time zone's fallback name
* @draft ICU 4.4
*/
GENERIC_LOCATION
}; };
/** /**
* Returns a name of this time zone suitable for presentation to the us er * Returns a name of this time zone suitable for presentation to the us er
* in the default locale. * in the default locale.
* This method returns the long name, not including daylight savings. * This method returns the long name, not including daylight savings.
* If the display name is not available for the locale, * If the display name is not available for the locale,
* then this method returns a string in the format * then this method returns a string in the format
* <code>GMT[+-]hh:mm</code>. * <code>GMT[+-]hh:mm</code>.
* @param result the human-readable name of this time zone in the defau lt locale. * @param result the human-readable name of this time zone in the defau lt locale.
skipping to change at line 562 skipping to change at line 596
*/ */
UnicodeString& getDisplayName(const Locale& locale, UnicodeString& resu lt) const; UnicodeString& getDisplayName(const Locale& locale, UnicodeString& resu lt) const;
/** /**
* Returns a name of this time zone suitable for presentation to the us er * Returns a name of this time zone suitable for presentation to the us er
* in the default locale. * in the default locale.
* If the display name is not available for the locale, * If the display name is not available for the locale,
* then this method returns a string in the format * then this method returns a string in the format
* <code>GMT[+-]hh:mm</code>. * <code>GMT[+-]hh:mm</code>.
* @param daylight if true, return the daylight savings name. * @param daylight if true, return the daylight savings name.
* @param style either <code>LONG</code> or <code>SHORT</code> * @param style
* @param result the human-readable name of this time zone in the defau lt locale. * @param result the human-readable name of this time zone in the defau lt locale.
* @return A reference to 'result'. * @return A reference to 'result'.
* @stable ICU 2.0 * @draft ICU 4.4
*/ */
UnicodeString& getDisplayName(UBool daylight, EDisplayType style, Unico deString& result) const; UnicodeString& getDisplayName(UBool daylight, EDisplayType style, Unico deString& result) const;
/** /**
* Returns a name of this time zone suitable for presentation to the us er * Returns a name of this time zone suitable for presentation to the us er
* in the specified locale. * in the specified locale.
* If the display name is not available for the locale, * If the display name is not available for the locale,
* then this method returns a string in the format * then this method returns a string in the format
* <code>GMT[+-]hh:mm</code>. * <code>GMT[+-]hh:mm</code>.
* @param daylight if true, return the daylight savings name. * @param daylight if true, return the daylight savings name.
* @param style either <code>LONG</code> or <code>SHORT</code> * @param style
* @param locale the locale in which to supply the display name. * @param locale the locale in which to supply the display name.
* @param result the human-readable name of this time zone in the given locale * @param result the human-readable name of this time zone in the given locale
* or in the default locale if the given locale is not re cognized. * or in the default locale if the given locale is not re cognized.
* @return A refence to 'result'. * @return A refence to 'result'.
* @stable ICU 2.0 * @draft ICU 4.4
*/ */
UnicodeString& getDisplayName(UBool daylight, EDisplayType style, const Locale& locale, UnicodeString& result) const; UnicodeString& getDisplayName(UBool daylight, EDisplayType style, const Locale& locale, UnicodeString& result) const;
/** /**
* Sets default time zone name style.
* @param sytle EDisplayType to set as default
* @draft ICU 4.4
*/
void setDefaultTimeZoneNameStyle(EDisplayType style);
/**
* Get default time zone name style.
* @return Default name style for the time zone.
* @draft ICU 4.4
*/
EDisplayType getDefaultTimeZoneNameStyle();
/**
* Queries if this time zone uses daylight savings time. * Queries if this time zone uses daylight savings time.
* @return true if this time zone uses daylight savings time, * @return true if this time zone uses daylight savings time,
* false, otherwise. * false, otherwise.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
virtual UBool useDaylightTime(void) const = 0; virtual UBool useDaylightTime(void) const = 0;
/** /**
* Queries if the given date is in daylight savings time in * Queries if the given date is in daylight savings time in
* this time zone. * this time zone.
 End of changes. 6 change blocks. 
5 lines changed or deleted 53 lines changed or added


 umachine.h   umachine.h 
skipping to change at line 46 skipping to change at line 46
* *
*/ */
/*========================================================================= =*/ /*========================================================================= =*/
/* Include platform-dependent definitions */ /* Include platform-dependent definitions */
/* which are contained in the platform-specific file platform.h */ /* which are contained in the platform-specific file platform.h */
/*========================================================================= =*/ /*========================================================================= =*/
#if defined(U_PALMOS) #if defined(U_PALMOS)
# include "unicode/ppalmos.h" # include "unicode/ppalmos.h"
#elif defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64 ) #elif defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64 )
#ifdef CYGWINMSVC
# include "unicode/platform.h"
#endif
# include "unicode/pwin32.h" # include "unicode/pwin32.h"
#else #else
# include "unicode/platform.h" # include "unicode/ptypes.h" /* platform.h is included in ptypes.h */
#endif #endif
/* /*
* ANSI C headers: * ANSI C headers:
* stddef.h defines wchar_t * stddef.h defines wchar_t
*/ */
#include <stddef.h> #include <stddef.h>
/*========================================================================= =*/ /*========================================================================= =*/
/* XP_CPLUSPLUS is a cross-platform symbol which should be defined when */ /* XP_CPLUSPLUS is a cross-platform symbol which should be defined when */
 End of changes. 2 change blocks. 
1 lines changed or deleted 4 lines changed or added


 unistr.h   unistr.h 
skipping to change at line 4039 skipping to change at line 4039
#if !UCONFIG_NO_CONVERSION #if !UCONFIG_NO_CONVERSION
inline int32_t inline int32_t
UnicodeString::extract(int32_t start, UnicodeString::extract(int32_t start,
int32_t _length, int32_t _length,
char *dst, char *dst,
const char *codepage) const const char *codepage) const
{ {
// This dstSize value will be checked explicitly // This dstSize value will be checked explicitly
return extract(start, _length, dst, dst!=0 ? 0xffffffff : 0, codepage); // Ticket #7039: Clip length to the maximum valid length to the end of ad
dressable memory given the starting address
return extract(start, _length, dst, dst!=0 ? ((dst >= (char*)((size_t)-1)
- UINT32_MAX) ? (((char*)UINT32_MAX) - dst) : UINT32_MAX) : 0, codepage);
} }
#endif #endif
inline void inline void
UnicodeString::extractBetween(int32_t start, UnicodeString::extractBetween(int32_t start,
int32_t limit, int32_t limit,
UChar *dst, UChar *dst,
int32_t dstStart) const { int32_t dstStart) const {
pinIndex(start); pinIndex(start);
 End of changes. 1 change blocks. 
1 lines changed or deleted 4 lines changed or added


 utypes.h   utypes.h 
skipping to change at line 236 skipping to change at line 236
/** /**
* Do not use. * Do not use.
* @internal * @internal
*/ */
#define U_DEF2_ICUDATA_ENTRY_POINT(major, minor) U_DEF_ICUDATA_ENTRY_POINT( major, minor) #define U_DEF2_ICUDATA_ENTRY_POINT(major, minor) U_DEF_ICUDATA_ENTRY_POINT( major, minor)
/** /**
* Do not use. * Do not use.
* @internal * @internal
*/ */
#ifndef U_DEF_ICUDATA_ENTRY_POINT
/* affected by symbol renaming. See platform.h */
#define U_DEF_ICUDATA_ENTRY_POINT(major, minor) icudt##major##minor##_dat #define U_DEF_ICUDATA_ENTRY_POINT(major, minor) icudt##major##minor##_dat
#endif
/** /**
* \def U_CALLCONV * \def U_CALLCONV
* Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary * Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary
* in callback function typedefs to make sure that the calling convention * in callback function typedefs to make sure that the calling convention
* is compatible. * is compatible.
* *
* This is only used for non-ICU-API functions. * This is only used for non-ICU-API functions.
* When a function is a public ICU API, * When a function is a public ICU API,
* you must use the U_CAPI and U_EXPORT2 qualifiers. * you must use the U_CAPI and U_EXPORT2 qualifiers.
 End of changes. 2 change blocks. 
0 lines changed or deleted 3 lines changed or added


 uversion.h   uversion.h 
skipping to change at line 14 skipping to change at line 14
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
*************************************************************************** **** *************************************************************************** ****
* *
* file name: uversion.h * file name: uversion.h
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* Created by: Vladimir Weinstein * Created by: Vladimir Weinstein
* *
* Contains all the important version numbers for ICU.
* Gets included by utypes.h and Windows .rc files * Gets included by utypes.h and Windows .rc files
*/ */
/** /**
* \file * \file
* \brief C API: Contains all the important version numbers for ICU. * \brief C API: API for accessing ICU version numbers.
*/ */
/*========================================================================= ==*/ /*========================================================================= ==*/
/* Main ICU version information */ /* Main ICU version information */
/*========================================================================= ==*/ /*========================================================================= ==*/
#ifndef UVERSION_H #ifndef UVERSION_H
#define UVERSION_H #define UVERSION_H
/** /**
* IMPORTANT: When updating version, the following things need to be done: * IMPORTANT: When updating version, the following things need to be done:
skipping to change at line 49 skipping to change at line 48
* source/stubdata/stubdata.vcproj - same as for the common.vcproj * source/stubdata/stubdata.vcproj - same as for the common.vcproj
* source/io/io.vcproj - same as for the common.vcproj * source/io/io.vcproj - same as for the common.vcproj
* source/data/makedata.mak - change U_ICUDATA_NAME so that it contains * source/data/makedata.mak - change U_ICUDATA_NAME so that it contains
* the new major/minor combination * the new major/minor combination
* source/tools/genren/genren.pl - use this script according to the README * source/tools/genren/genren.pl - use this script according to the README
* in that folder * in that folder
*/ */
#include "unicode/umachine.h" #include "unicode/umachine.h"
/** The standard copyright notice that gets compiled into each library. /* Actual version info lives in uvernum.h */
* This value will change in the subsequent releases of ICU #include "unicode/uvernum.h"
* @stable ICU 2.4
*/
#define U_COPYRIGHT_STRING \
" Copyright (C) 2009, International Business Machines Corporation and oth
ers. All Rights Reserved. "
/** Maximum length of the copyright string. /** Maximum length of the copyright string.
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
#define U_COPYRIGHT_STRING_LENGTH 128 #define U_COPYRIGHT_STRING_LENGTH 128
/** The current ICU major version as an integer.
* This value will change in the subsequent releases of ICU
* @stable ICU 2.4
*/
#define U_ICU_VERSION_MAJOR_NUM 4
/** The current ICU minor version as an integer.
* This value will change in the subsequent releases of ICU
* @stable ICU 2.6
*/
#define U_ICU_VERSION_MINOR_NUM 3
/** The current ICU patchlevel version as an integer.
* This value will change in the subsequent releases of ICU
* @stable ICU 2.4
*/
#define U_ICU_VERSION_PATCHLEVEL_NUM 1
/** The current ICU build level version as an integer.
* This value is for use by ICU clients. It defaults to 0.
* @stable ICU 4.0
*/
#ifndef U_ICU_VERSION_BUILDLEVEL_NUM
#define U_ICU_VERSION_BUILDLEVEL_NUM 0
#endif
/** Glued version suffix for renamers
* This value will change in the subsequent releases of ICU
* @stable ICU 2.6
*/
#define U_ICU_VERSION_SUFFIX _4_3
/** The current ICU library version as a dotted-decimal string. The patchle
vel
* only appears in this string if it non-zero.
* This value will change in the subsequent releases of ICU
* @stable ICU 2.4
*/
#define U_ICU_VERSION "4.3.1"
/** The current ICU library major/minor version as a string without dots, f
or library name suffixes.
* This value will change in the subsequent releases of ICU
* @stable ICU 2.6
*/
#define U_ICU_VERSION_SHORT "43"
/** An ICU version consists of up to 4 numbers from 0..255. /** An ICU version consists of up to 4 numbers from 0..255.
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
#define U_MAX_VERSION_LENGTH 4 #define U_MAX_VERSION_LENGTH 4
/** In a string, ICU version fields are delimited by dots. /** In a string, ICU version fields are delimited by dots.
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
#define U_VERSION_DELIMITER '.' #define U_VERSION_DELIMITER '.'
skipping to change at line 167 skipping to change at line 117
* If the compiler doesn't support namespaces, this does nothing. * If the compiler doesn't support namespaces, this does nothing.
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
/* Define namespace symbols if the compiler supports it. */ /* Define namespace symbols if the compiler supports it. */
#if U_HAVE_NAMESPACE && defined(XP_CPLUSPLUS) #if U_HAVE_NAMESPACE && defined(XP_CPLUSPLUS)
# if U_DISABLE_RENAMING # if U_DISABLE_RENAMING
# define U_ICU_NAMESPACE icu # define U_ICU_NAMESPACE icu
namespace U_ICU_NAMESPACE { } namespace U_ICU_NAMESPACE { }
# else # else
# define U_ICU_NAMESPACE icu_4_3 # define U_ICU_NAMESPACE U_ICU_ENTRY_POINT_RENAME(icu)
namespace U_ICU_NAMESPACE { } namespace U_ICU_NAMESPACE { }
namespace icu = U_ICU_NAMESPACE; namespace icu = U_ICU_NAMESPACE;
# endif # endif
# define U_NAMESPACE_BEGIN namespace U_ICU_NAMESPACE { # define U_NAMESPACE_BEGIN namespace U_ICU_NAMESPACE {
# define U_NAMESPACE_END } # define U_NAMESPACE_END }
# define U_NAMESPACE_USE using namespace U_ICU_NAMESPACE; # define U_NAMESPACE_USE using namespace U_ICU_NAMESPACE;
# define U_NAMESPACE_QUALIFIER U_ICU_NAMESPACE:: # define U_NAMESPACE_QUALIFIER U_ICU_NAMESPACE::
# ifndef U_USING_ICU_NAMESPACE # ifndef U_USING_ICU_NAMESPACE
skipping to change at line 247 skipping to change at line 197
/** /**
* Gets the ICU release version. The version array stores the version info rmation * Gets the ICU release version. The version array stores the version info rmation
* for ICU. For example, release "1.3.31.2" is then represented as 0x01031 F02. * for ICU. For example, release "1.3.31.2" is then represented as 0x01031 F02.
* Definition of this function lives in putil.c * Definition of this function lives in putil.c
* *
* @param versionArray the version # information, the result will be filled in * @param versionArray the version # information, the result will be filled in
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
U_STABLE void U_EXPORT2 U_STABLE void U_EXPORT2
u_getVersion(UVersionInfo versionArray); u_getVersion(UVersionInfo versionArray);
/*=========================================================================
==
* ICU collation framework version information
* Version info that can be obtained from a collator is affected by these
* numbers in a secret and magic way. Please use collator version as whole
*=========================================================================
==
*/
/** Collation runtime version (sort key generator, strcoll).
* If the version is different, sortkeys for the same string could be diffe
rent
* version 2 was in ICU 1.8.1. changed is: compression intervals, French se
condary
* compression, generating quad level always when strength is quad or more
* version 4 - ICU 2.2 - tracking UCA changes, ignore completely ignorables
* in contractions, ignore primary ignorables after shifted
* version 5 - ICU 2.8 - changed implicit generation code
* version 6 - ICU 3.4 - with the UCA 4.1, Thai tag is no longer generated
or used
* This value may change in the subsequent releases of ICU
* @stable ICU 2.4
*/
#define UCOL_RUNTIME_VERSION 6
/** Builder code version. When this is different, same tailoring might resu
lt
* in assigning different collation elements to code points
* version 2 was in ICU 1.8.1. added support for prefixes, tweaked canonica
l
* closure. However, the tailorings should probably get same CEs assigned
* version 5 - ICU 2.2 - fixed some bugs, renamed some indirect values.
* version 6 - ICU 2.8 - fixed bug in builder that allowed 0xFF in primary
values
* version 7 - ICU 3.4 - with the UCA 4.1 Thai tag is no longer processed,
complete ignorables
* now break contractions
* Backward compatible with the old rules.
* This value may change in the subsequent releases of ICU
* @stable ICU 2.4
*/
#define UCOL_BUILDER_VERSION 7
/** This is the version of the tailorings
* This value may change in the subsequent releases of ICU
* @stable ICU 2.4
*/
#define UCOL_TAILORINGS_VERSION 1
#endif #endif
 End of changes. 6 change blocks. 
107 lines changed or deleted 4 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/