Initial upload

This commit is contained in:
r4
2021-07-01 17:04:13 +02:00
parent 366bd4ad30
commit 574cf9219e
15 changed files with 958 additions and 0 deletions

33
ptr_stack.c Normal file
View File

@@ -0,0 +1,33 @@
/* vim: set filetype=c: */
#include "ptr_stack.h"
#include <malloc.h>
void PtrStack_init(PtrStack* obj) {
obj->top = NULL;
obj->size = 0;
}
void PtrStack_push(PtrStack* obj, void* ptr) {
PtrStackItem* itm = malloc(sizeof(PtrStackItem));
itm->ptr = ptr;
itm->prev = obj->top;
obj->top = itm;
obj->size++;
}
void PtrStack_pop(PtrStack* obj) {
PtrStackItem* itm = obj->top;
obj->top = itm->prev;
free(itm);
obj->size--;
}
void PtrStack_uninit(PtrStack* obj) {
PtrStackItem* curr = obj->top;
while(curr != NULL) {
PtrStackItem* prev = curr->prev;
free(curr);
curr = prev;
}
}