Я пытался создать функцию, которая проходит через каталог и выводит список всех файлов в каталоге и любых подкаталогах:
void get_listing (string dir) {
try {
var directory = File.new_for_path (dir);
var enumerator = directory.enumerate_children (FILE_ATTRIBUTE_STANDARD_NAME, 0);
FileInfo file_info;
while ((file_info = enumerator.next_file ()) != null) {
stdout.printf(file_info.get_file_type().to_string());
if (file_info.get_file_type() == FileType.DIRECTORY) {
get_listing(file_info.get_name());
} else {
stdout.printf ("%s\n", file_info.get_name ());
}
}
} catch (Error e) {
stderr.printf ("Error: %s\n", e.message);
return;
}
}
int main (string[] args) {
get_listing(".");
return 0;
}
Когда я запускаю этот код, ни один из файлов в каких-либо подкаталогах не выводится. Все типы файлов / каталогов: «G_FILE_TYPE_UNKNOWN». Кто-нибудь знает, как исправить тот или иной метод, который я мог бы использовать.