From 1efda72797797ceb2a1693c88e4f5cc1f421e241 Mon Sep 17 00:00:00 2001 From: Curtis McEnroe Date: Wed, 21 Nov 2018 22:32:22 -0500 Subject: Read files in edi --- bin/edi/log.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) (limited to 'bin/edi/log.c') diff --git a/bin/edi/log.c b/bin/edi/log.c index f31f075f..82cd7ff3 100644 --- a/bin/edi/log.c +++ b/bin/edi/log.c @@ -23,25 +23,19 @@ #include "edi.h" struct Log logAlloc(size_t cap) { - assert(cap); struct State *states = malloc(sizeof(*states) * cap); if (!states) err(EX_OSERR, "malloc"); - states[0] = (struct State) { - .table = TableEmpty, - .prev = 0, - .next = 0, - }; return (struct Log) { .cap = cap, - .len = 1, - .idx = 0, + .len = 0, + .state = 0, .states = states, }; } void logFree(struct Log *log) { for (size_t i = 0; i < log->len; ++i) { - free(log->states[i].table.slices); + tableFree(&log->states[i].table); } free(log->states); } @@ -55,9 +49,9 @@ void logPush(struct Log *log, struct Table table) { size_t next = log->len++; log->states[next] = (struct State) { .table = table, - .prev = log->idx, + .prev = log->state, .next = next, }; - log->states[log->idx].next = next; - log->idx = next; + log->states[log->state].next = next; + log->state = next; } -- cgit 1.4.1