Commit 30e919c4272f9828ab1d5cdac30234452ac9afcc

Carson Howard 2017-10-16T16:46:19

examples: ls-files: list files

diff --git a/examples/ls-files.c b/examples/ls-files.c
new file mode 100644
index 0000000..c5201bb
--- /dev/null
+++ b/examples/ls-files.c
@@ -0,0 +1,37 @@
+#include <common.h>
+
+typedef struct ls_files_state {
+	git_repository *repo;
+	git_index *index;
+	char **files;
+	size_t num_entries;
+} ls_files;
+
+void create_ls_files(ls_files **ls);
+
+int main(int argc, char[] *argv) {
+	ls_files *ls;
+	git_index_entry *entry;
+	size_t i;
+
+	git_libgit2_init();
+
+	ls = git__malloc(sizeof(ls_files));
+
+	// TODO err
+	git_repository_open_ext(&ls->repo, ".", 0, NULL);
+
+	// TODO err
+	git_repository_index__weakptr(&ls->index, ls->repo);
+
+
+	git_vector_foreach(&ls->index->entries, i, entry) {
+		printf("%s\n", entry->path);
+	}
+
+	git_repository_free(ls->repo);
+	git__free(ls);
+	git_libgit2_shutdown();
+
+	return 0;
+}