On Wed, 11 Dec 2024 18:45:43 GMT, Brian Burkhalter <b...@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

Reply via email to