diff options
| author | Xavier Del Campo Romero <xavi92@disroot.org> | 2026-05-09 02:56:07 +0200 |
|---|---|---|
| committer | Xavier Del Campo Romero <xavi92@disroot.org> | 2026-05-21 01:17:25 +0200 |
| commit | 7cdb37d35e6978c245ca656ba9d55df0a6e362e6 (patch) | |
| tree | 79d8c0f6526d0eedbbec617cd78a62a3f1c9a1f3 /push.c | |
| download | slcob-7cdb37d35e6978c245ca656ba9d55df0a6e362e6.tar.gz | |
Add project skeleton
Diffstat (limited to 'push.c')
| -rw-r--r-- | push.c | 26 |
1 files changed, 26 insertions, 0 deletions
@@ -0,0 +1,26 @@ +#include "prv.h" +#include <stdlib.h> + +int push(const struct pos *pos, struct prv *p) +{ + size_t n = p->n + 1; + struct pos *npos = realloc(p->pos, n * sizeof *npos); + + if (!npos) + { + perror("realloc(3)"); + return -1; + } + else if (p->n) + { + struct pos *prev = &npos[p->n - 1]; + + prev->seq = prev->stseq; + prev->step = prev->seq->steps; + p->i++; + } + + npos[p->n++] = *pos; + p->pos = npos; + return 0; +} |
