From a200ec5948e017f8e4374b39314476df35c37113 Mon Sep 17 00:00:00 2001 From: bchristi Date: Thu, 21 Jul 2016 13:02:35 -0700 Subject: [PATCH] 8161039: System.getProperty("os.version") returns incorrect version number on Mac Summary: Omit trailing .0 from os.version when patchVersion is 0 Reviewed-by: alanb --- src/solaris/native/java/lang/java_props_macosx.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/solaris/native/java/lang/java_props_macosx.c b/src/solaris/native/java/lang/java_props_macosx.c index ea3dc25c6..b43f290b0 100644 --- a/src/solaris/native/java/lang/java_props_macosx.c +++ b/src/solaris/native/java/lang/java_props_macosx.c @@ -177,8 +177,14 @@ void setOSNameAndVersion(java_props_t *sprops) { OSVerStruct (*procInfoFn)(id rec, SEL sel) = (OSVerStruct(*)(id, SEL))objc_msgSend_stret; OSVerStruct osVer = procInfoFn([NSProcessInfo processInfo], @selector(operatingSystemVersion)); - NSString *nsVerStr = [NSString stringWithFormat:@"%ld.%ld.%ld", - (long)osVer.majorVersion, (long)osVer.minorVersion, (long)osVer.patchVersion]; + NSString *nsVerStr; + if (osVer.patchVersion == 0) { // Omit trailing ".0" + nsVerStr = [NSString stringWithFormat:@"%ld.%ld", + (long)osVer.majorVersion, (long)osVer.minorVersion]; + } else { + nsVerStr = [NSString stringWithFormat:@"%ld.%ld.%ld", + (long)osVer.majorVersion, (long)osVer.minorVersion, (long)osVer.patchVersion]; + } // Copy out the char* osVersionCStr = strdup([nsVerStr UTF8String]); } -- GitLab