src/java.base/macosx/native/libnio/fs/BsdNativeDispatcher.c
changeset 58131 3054503bad7d
parent 47216 71c04702a3d5
equal deleted inserted replaced
58130:ff0eae1719d0 58131:3054503bad7d
     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 }