summaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorRichard Jones <rjones@trick.home.annexia.org>2009-06-22 08:20:42 +0100
committerRichard Jones <rjones@trick.home.annexia.org>2009-06-22 08:20:42 +0100
commitad8a256f54a6cb99f89bb444c8597a152a793dce (patch)
treef82b1ef05fe745c9cb2ec93275b9d0909f1a882e /java
parent05c34c1c1479bb07b31cfbf912743a8cf014a636 (diff)
downloadlibguestfs-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.java26
-rw-r--r--java/com_redhat_et_libguestfs_GuestFS.c33
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;
+}
+