summaryrefslogtreecommitdiffstats
path: root/java/com_redhat_et_libguestfs_GuestFS.c
diff options
context:
space:
mode:
authorRichard Jones <rjones@trick.home.annexia.org>2009-05-19 12:05:43 +0100
committerRichard Jones <rjones@trick.home.annexia.org>2009-05-19 12:05:43 +0100
commit1fc41b39dac877ccec1284da8bb14baa4df368b8 (patch)
tree74d0693b6d97d796b75847ace4815109c17b3198 /java/com_redhat_et_libguestfs_GuestFS.c
parentd1df2f342489bbbba086cae2bb95971c8e404cad (diff)
downloadlibguestfs-1fc41b39dac877ccec1284da8bb14baa4df368b8.tar.gz
libguestfs-1fc41b39dac877ccec1284da8bb14baa4df368b8.tar.xz
libguestfs-1fc41b39dac877ccec1284da8bb14baa4df368b8.zip
Generated code for 'find' command.
Diffstat (limited to 'java/com_redhat_et_libguestfs_GuestFS.c')
-rw-r--r--java/com_redhat_et_libguestfs_GuestFS.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/java/com_redhat_et_libguestfs_GuestFS.c b/java/com_redhat_et_libguestfs_GuestFS.c
index 1850f214..1e7f9de5 100644
--- a/java/com_redhat_et_libguestfs_GuestFS.c
+++ b/java/com_redhat_et_libguestfs_GuestFS.c
@@ -2930,3 +2930,36 @@ Java_com_redhat_et_libguestfs_GuestFS__1resize2fs
}
}
+JNIEXPORT jobjectArray JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1find
+ (JNIEnv *env, jobject obj, jlong jg, jstring jdirectory)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ jobjectArray jr;
+ int r_len;
+ jclass cl;
+ jstring jstr;
+ char **r;
+ const char *directory;
+ int i;
+
+ directory = (*env)->GetStringUTFChars (env, jdirectory, NULL);
+ r = guestfs_find (g, directory);
+ (*env)->ReleaseStringUTFChars (env, jdirectory, directory);
+ if (r == NULL) {
+ throw_exception (env, guestfs_last_error (g));
+ return NULL;
+ }
+ for (r_len = 0; r[r_len] != NULL; ++r_len) ;
+ cl = (*env)->FindClass (env, "java/lang/String");
+ jstr = (*env)->NewStringUTF (env, "");
+ jr = (*env)->NewObjectArray (env, r_len, cl, jstr);
+ for (i = 0; i < r_len; ++i) {
+ jstr = (*env)->NewStringUTF (env, r[i]);
+ (*env)->SetObjectArrayElement (env, jr, i, jstr);
+ free (r[i]);
+ }
+ free (r);
+ return jr;
+}
+