RFR: 8343342: java/io/File/GetXSpace.java fails on Windows with CD-ROM drive [v6]

Taizo Kurashige duke at openjdk.org
Fri Dec 13 10:13:38 UTC 2024


On Wed, 11 Dec 2024 18:45:43 GMT, Brian Burkhalter <bpb at openjdk.org> wrote:

>> test/jdk/java/io/File/libGetXSpace.c line 165:
>> 
>>> 163: #ifdef WINDOWS
>>> 164: JNIEXPORT jboolean JNICALL
>>> 165: Java_GetXSpace_isCDDrive
>> 
>> The native `GetXSpace` method needs to be defined on all platforms, otherwise we get the following on Unix:
>> 
>> java.lang.UnsatisfiedLinkError: 'boolean GetXSpace.isCDDrive(java.lang.String)'
>> 	at GetXSpace.isCDDrive(Native Method)
>> 	at GetXSpace$Space.<init>(GetXSpace.java:109)
>> 	at GetXSpace.testVolumes(GetXSpace.java:353)
>> 	at GetXSpace.main(GetXSpace.java:384)
>
>> The native `GetXSpace` method needs to be defined on all platforms
> 
> This change fixes that problem:
> 
> --- a/test/jdk/java/io/File/libGetXSpace.c
> +++ b/test/jdk/java/io/File/libGetXSpace.c
> @@ -160,11 +160,11 @@ Java_GetXSpace_getSpace0
>      return totalSpaceIsEstimated;
>  }
>  
> -#ifdef WINDOWS
>  JNIEXPORT jboolean JNICALL
>  Java_GetXSpace_isCDDrive
>      (JNIEnv *env, jclass cls, jstring root)
>  {
> +#ifdef WINDOWS
>      const jchar* strchars = (*env)->GetStringChars(env, root, NULL);
>      if (strchars == NULL) {
>          JNU_ThrowByNameWithLastError(env, "java/lang/RuntimeException",
> @@ -182,8 +182,10 @@ Java_GetXSpace_isCDDrive
>      }
>  
>      return JNI_TRUE;
> -}
> +#else
> +    return JNI_FALSE;
>  #endif
> +}

Sorry for my lack of consideration. Thank you for the proposal. I Fixed.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/21799#discussion_r1883689015


More information about the core-libs-dev mailing list