mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-22 07:03:38 +00:00
Generated code for 'find' command.
This commit is contained in:
@@ -2951,4 +2951,45 @@ public class GuestFS {
|
||||
private native void _resize2fs (long g, String device)
|
||||
throws LibGuestFSException;
|
||||
|
||||
/**
|
||||
* find all files and directories
|
||||
*
|
||||
* This command lists out all files and directories,
|
||||
* recursively, starting at "directory". It is essentially
|
||||
* equivalent to running the shell command "find directory
|
||||
* -print" but some post-processing happens on the output,
|
||||
* described below.
|
||||
*
|
||||
* This returns a list of strings *without any prefix*.
|
||||
* Thus if the directory structure was:
|
||||
*
|
||||
* /tmp/a
|
||||
* /tmp/b
|
||||
* /tmp/c/d
|
||||
*
|
||||
* then the returned list from "g.find" "/tmp" would be 4
|
||||
* elements:
|
||||
*
|
||||
* a
|
||||
* b
|
||||
* c
|
||||
* c/d
|
||||
*
|
||||
* If "directory" is not a directory, then this command
|
||||
* returns an error.
|
||||
*
|
||||
* The returned list is sorted.
|
||||
*
|
||||
* @throws LibGuestFSException
|
||||
*/
|
||||
public String[] find (String directory)
|
||||
throws LibGuestFSException
|
||||
{
|
||||
if (g == 0)
|
||||
throw new LibGuestFSException ("find: handle is closed");
|
||||
return _find (g, directory);
|
||||
}
|
||||
private native String[] _find (long g, String directory)
|
||||
throws LibGuestFSException;
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user