diff options
author | Richard Jones <rjones@trick.home.annexia.org> | 2009-06-22 08:20:42 +0100 |
---|---|---|
committer | Richard Jones <rjones@trick.home.annexia.org> | 2009-06-22 08:20:42 +0100 |
commit | ad8a256f54a6cb99f89bb444c8597a152a793dce (patch) | |
tree | f82b1ef05fe745c9cb2ec93275b9d0909f1a882e /java | |
parent | 05c34c1c1479bb07b31cfbf912743a8cf014a636 (diff) | |
download | libguestfs-ad8a256f54a6cb99f89bb444c8597a152a793dce.tar.gz libguestfs-ad8a256f54a6cb99f89bb444c8597a152a793dce.tar.xz libguestfs-ad8a256f54a6cb99f89bb444c8597a152a793dce.zip |
Generated code for 'glob-expand'.
Diffstat (limited to 'java')
-rw-r--r-- | java/com/redhat/et/libguestfs/GuestFS.java | 26 | ||||
-rw-r--r-- | java/com_redhat_et_libguestfs_GuestFS.c | 33 |
2 files changed, 59 insertions, 0 deletions
diff --git a/java/com/redhat/et/libguestfs/GuestFS.java b/java/com/redhat/et/libguestfs/GuestFS.java index 40754204..cdc0f094 100644 --- a/java/com/redhat/et/libguestfs/GuestFS.java +++ b/java/com/redhat/et/libguestfs/GuestFS.java @@ -3435,4 +3435,30 @@ public HashMap<String,String> test0rhashtableerr () private native String[] _sh_lines (long g, String command) throws LibGuestFSException; + /** + * expand a wildcard path + * <p> + * This command searches for all the pathnames matching + * "pattern" according to the wildcard expansion rules used + * by the shell. + * <p> + * If no paths match, then this returns an empty list + * (note: not an error). + * <p> + * It is just a wrapper around the C glob(3) function with + * flags "GLOB_MARK|GLOB_BRACE". See that manual page for + * more details. + * <p> + * @throws LibGuestFSException + */ + public String[] glob_expand (String pattern) + throws LibGuestFSException + { + if (g == 0) + throw new LibGuestFSException ("glob_expand: handle is closed"); + return _glob_expand (g, pattern); + } + private native String[] _glob_expand (long g, String pattern) + throws LibGuestFSException; + } diff --git a/java/com_redhat_et_libguestfs_GuestFS.c b/java/com_redhat_et_libguestfs_GuestFS.c index 631e48f6..8a5afe93 100644 --- a/java/com_redhat_et_libguestfs_GuestFS.c +++ b/java/com_redhat_et_libguestfs_GuestFS.c @@ -4040,3 +4040,36 @@ Java_com_redhat_et_libguestfs_GuestFS__1sh_1lines return jr; } +JNIEXPORT jobjectArray JNICALL +Java_com_redhat_et_libguestfs_GuestFS__1glob_1expand + (JNIEnv *env, jobject obj, jlong jg, jstring jpattern) +{ + guestfs_h *g = (guestfs_h *) (long) jg; + jobjectArray jr; + int r_len; + jclass cl; + jstring jstr; + char **r; + const char *pattern; + int i; + + pattern = (*env)->GetStringUTFChars (env, jpattern, NULL); + r = guestfs_glob_expand (g, pattern); + (*env)->ReleaseStringUTFChars (env, jpattern, pattern); + 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; +} + |