提交 05ed5fb9 编写于 作者: B bchristi

7178922: (props) re-visit how os.name is determined on Mac

Reviewed-by: alanb, mchung, skovatch, serb
上级 65d22d88
...@@ -145,27 +145,22 @@ PreferredToolkit getPreferredToolkit() { ...@@ -145,27 +145,22 @@ PreferredToolkit getPreferredToolkit() {
return pref = HToolkit; return pref = HToolkit;
} }
void setUnknownOSAndVersion(java_props_t *sprops) {
sprops->os_name = strdup("Unknown");
sprops->os_version = strdup("Unknown");
}
void setOSNameAndVersion(java_props_t *sprops) { void setOSNameAndVersion(java_props_t *sprops) {
void *jrsFwk = getJRSFramework(); /* Don't rely on JRSCopyOSName because there's no guarantee the value will
if (jrsFwk == NULL) { * remain the same, or even if the JRS functions will continue to be part of
setUnknownOSAndVersion(sprops); * Mac OS X. So hardcode os_name, and fill in os_version if we can.
return; */
} sprops->os_name = strdup("Mac OS X");
char *(*copyOSName)() = dlsym(jrsFwk, "JRSCopyOSName"); void *jrsFwk = getJRSFramework();
char *(*copyOSVersion)() = dlsym(jrsFwk, "JRSCopyOSVersion"); if (jrsFwk != NULL) {
if (copyOSName == NULL || copyOSVersion == NULL) { char *(*copyOSVersion)() = dlsym(jrsFwk, "JRSCopyOSVersion");
setUnknownOSAndVersion(sprops); if (copyOSVersion != NULL) {
return; sprops->os_version = copyOSVersion();
return;
}
} }
sprops->os_version = strdup("Unknown");
sprops->os_name = copyOSName();
sprops->os_version = copyOSVersion();
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册