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