diff options
| author | Xavier Del Campo Romero <xavi92@disroot.org> | 2026-10-01 01:04:30 +0200 |
|---|---|---|
| committer | Xavier Del Campo Romero <xavi92@disroot.org> | 2026-10-05 00:38:49 +0200 |
| commit | 2b0d4ead061a39da9dbd705c18c9955549c4d405 (patch) | |
| tree | 1412ac39adce3428b96caf67b1e7543f6c1246a5 /src/prc1/storage.c | |
| parent | 9140988be4e5bb028b7140aca1a67af1370c72a7 (diff) | |
| download | prc-2b0d4ead061a39da9dbd705c18c9955549c4d405.tar.gz | |
WIP symsym
Diffstat (limited to 'src/prc1/storage.c')
| -rw-r--r-- | src/prc1/storage.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/prc1/storage.c b/src/prc1/storage.c index 828ca1b..5ffff92 100644 --- a/src/prc1/storage.c +++ b/src/prc1/storage.c @@ -116,9 +116,7 @@ static int stpush(const struct lex *l, struct prv *p, const struct tk *name, } } - if (pop(l, p)) - goto end; - else if (!(entries = realloc(st->entries, n * sizeof *entries))) + if (!(entries = realloc(st->entries, n * sizeof *entries))) { perror("realloc(3)"); goto end; @@ -139,12 +137,12 @@ static int stpush(const struct lex *l, struct prv *p, const struct tk *name, p->stk = p->tk; if (p->proto) - fputc('\t', stderr); + dbg("\t"); - dbg("\tadding %s (%d:%d) to %s, type %s, offset %zu, size %zu\n", + dbg("\tadd %s (%d:%d) to %s, type %s, offset %zu, size %zu\n", name->s, loc->line, loc->col, st->name, tname, entries[st->nentries - 1].offset, t->sz); - ret = 1; + ret = 0; end: free(tname); return ret; @@ -188,9 +186,8 @@ int storage(const struct lex *l, struct prv *p, const char *name, int check, struct storage *st = NULL; struct pos init = { - .seq = seqs, - .stseq = seqs, - .step = seqs->steps + .name = __func__, + .seq = seqs }; if (*out) @@ -212,7 +209,7 @@ int storage(const struct lex *l, struct prv *p, const char *name, int check, *st = (struct storage){.name = name, .tk = p->stk, .check = check}; *out = p->st = st; p->stk = p->tk; - return 1; + return 0; failure: free(st); |
