diff options
| author | Aargh Rai <aargh.rai+git@gmail.com> | 2026-10-20 11:20:15 +0530 |
|---|---|---|
| committer | Aargh Rai <aargh.rai+git@gmail.com> | 2026-10-20 11:20:15 +0530 |
| commit | 0f3997d6ff2d25c0941824ec3daa3c8e767bd73e (patch) | |
| tree | d6110910cfa976b5bfd57139e3810d2924bbba9e /src/recursive_reader.c | |
| parent | 790131205281884585d4418ae7093636d6e61c97 (diff) | |
wrote the entire thing using libgit2
Diffstat (limited to 'src/recursive_reader.c')
| -rw-r--r-- | src/recursive_reader.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/recursive_reader.c b/src/recursive_reader.c new file mode 100644 index 0000000..0a32131 --- /dev/null +++ b/src/recursive_reader.c @@ -0,0 +1,21 @@ +#include <assert.h> + +#include "lib.h" + +struct recursive_reader recursive_reader_init() { + FILE *pipe = popen("find \"$PWD\" -print", "r"); + assert(pipe != NULL); + return (struct recursive_reader) { pipe, NULL, 0 }; +} + +int recursive_reader_read(struct recursive_reader *reader) { + int n = getline(&reader->line, &reader->capacity, reader->pfile); + reader->line[n - 1] = 0; + return n; +} + +void recursive_reader_deinit(struct recursive_reader reader) { + free(reader.line); + int status = pclose(reader.pfile); + assert(status != -1); +} |
