8206886: Java does not set the default format locale correctly on mac10.13

Reviewed-by: rriggs
This commit is contained in:
Naoto Sato 2018-07-19 11:15:38 -07:00
parent f921743302
commit 602a497270

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -45,11 +45,22 @@ char *getPosixLocale(int cat) {
}
#define LOCALEIDLENGTH 128
#ifndef kCFCoreFoundationVersionNumber10_11_Max
#define kCFCoreFoundationVersionNumber10_11_Max 1299
#endif
char *getMacOSXLocale(int cat) {
const char* retVal = NULL;
char languageString[LOCALEIDLENGTH];
char localeString[LOCALEIDLENGTH];
// Since macOS 10.12, there is no separate language selection for
// "format" locale, e.g., date format. Use the preferred language
// for all LC_* categories.
if (kCFCoreFoundationVersionNumber >
kCFCoreFoundationVersionNumber10_11_Max) {
cat = LC_MESSAGES;
}
switch (cat) {
case LC_MESSAGES:
{