#define ISLAMIC_UMALQURA_NAME "islamic-umalqura"
#define ROC_NAME "roc"
+#define JAPANESE_LOCALE_AND_CALENDAR "ja_JP@calendar=japanese"
+
/*
* These values should be kept in sync with System.Globalization.CalendarId
*/
extern "C" int32_t GetLatestJapaneseEra()
{
UErrorCode err = U_ZERO_ERROR;
- Locale japaneseLocale("ja_JP@calendar=japanese");
+ Locale japaneseLocale(JAPANESE_LOCALE_AND_CALENDAR);
LocalPointer<Calendar> calendar(Calendar::createInstance(japaneseLocale, err));
if (U_FAILURE(err))
int32_t* startMonth,
int32_t* startDay)
{
+ *startYear = -1;
+ *startMonth = -1;
+ *startDay = -1;
+
UErrorCode err = U_ZERO_ERROR;
- Locale japaneseLocale("ja_JP@calendar=japanese");
+ Locale japaneseLocale(JAPANESE_LOCALE_AND_CALENDAR);
LocalPointer<Calendar> calendar(Calendar::createInstance(japaneseLocale, err));
if (U_FAILURE(err))
return false;
internal static partial class GlobalizationInterop
{
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode)]
- internal unsafe static extern void ChangeCase(char* src, int srcLen, char* dstBuffer, int dstBufferCapacity, bool bIsUpper, bool bTurkishCasing);
+ internal unsafe static extern void ChangeCase(char* src, int srcLen, char* dstBuffer, int dstBufferCapacity, bool bToUpper, bool bTurkishCasing);
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode)]
- internal unsafe static extern void ChangeCase(string src, int srcLen, char* dstBuffer, int dstBufferCapacity, bool bIsUpper, bool bTurkishCasing);
+ internal unsafe static extern void ChangeCase(string src, int srcLen, char* dstBuffer, int dstBufferCapacity, bool bToUpper, bool bTurkishCasing);
}
}
/// </remarks>
private static string NormalizeDatePattern(string input)
{
- StringBuilder destination = new StringBuilder(input.Length);
+ StringBuilder destination = StringBuilderCache.Acquire(input.Length);
int index = 0;
while (index < input.Length)
}
}
- return destination.ToString();
+ return StringBuilderCache.GetStringAndRelease(destination);
}
private static void NormalizeDayOfWeek(string input, StringBuilder destination, ref int index)