equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2008, 2019, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. Oracle designates this |
7 * published by the Free Software Foundation. Oracle designates this |
201 if (iter != NULL) { |
201 if (iter != NULL) { |
202 free(iter->buf); |
202 free(iter->buf); |
203 free(iter); |
203 free(iter); |
204 } |
204 } |
205 } |
205 } |
|
206 |
|
207 JNIEXPORT jbyteArray JNICALL |
|
208 Java_sun_nio_fs_BsdNativeDispatcher_getmntonname0(JNIEnv *env, jclass this, |
|
209 jlong pathAddress) |
|
210 { |
|
211 struct statfs buf; |
|
212 const char* path = (const char*)jlong_to_ptr(pathAddress); |
|
213 |
|
214 if (statfs(path, &buf) != 0) { |
|
215 throwUnixException(env, errno); |
|
216 } |
|
217 |
|
218 jsize len = strlen(buf.f_mntonname); |
|
219 jbyteArray mntonname = (*env)->NewByteArray(env, len); |
|
220 if (mntonname != NULL) { |
|
221 (*env)->SetByteArrayRegion(env, mntonname, 0, len, |
|
222 (jbyte*)buf.f_mntonname); |
|
223 } |
|
224 |
|
225 return mntonname; |
|
226 } |