gout

A static git page generator
git clone https://git.bracken.jp/gout.git
Log | Files | Refs | README | LICENSE

index_writer.c (1102B)


      1 #include "writer/gopher/index_writer.h"
      2 
      3 #include <assert.h>
      4 #include <stdio.h>
      5 #include <stdlib.h>
      6 
      7 #include "git/repo.h"
      8 #include "utils.h"
      9 #include "writer/gopher/repo_index.h"
     10 
     11 struct GopherIndexWriter {
     12   GopherRepoIndex* index;
     13 };
     14 
     15 GopherIndexWriter* gopher_indexwriter_create(FILE* out) {
     16   assert(out != NULL);
     17   GopherIndexWriter* writer = ecalloc(1, sizeof(GopherIndexWriter));
     18   writer->index = gopher_repoindex_create(out);
     19   return writer;
     20 }
     21 
     22 void gopher_indexwriter_free(GopherIndexWriter* writer) {
     23   if (!writer) {
     24     return;
     25   }
     26   gopher_repoindex_free(writer->index);
     27   writer->index = NULL;
     28   free(writer);
     29 }
     30 
     31 void gopher_indexwriter_begin(GopherIndexWriter* writer) {
     32   assert(writer != NULL);
     33   gopher_repoindex_begin(writer->index);
     34 }
     35 
     36 void gopher_indexwriter_add_repo(GopherIndexWriter* writer,
     37                                  const GitRepo* repo) {
     38   assert(writer != NULL);
     39   assert(repo != NULL);
     40   gopher_repoindex_add_repo(writer->index, repo);
     41 }
     42 
     43 void gopher_indexwriter_end(GopherIndexWriter* writer) {
     44   assert(writer != NULL);
     45   gopher_repoindex_end(writer->index);
     46 }