C-Playground/lib/alloc.c

29 lines
541 B
C

#include "alloc.h"
static char ss_alloc_buff[ALLOC_SIZE];
static char *ss_alloc_p = ss_alloc_buff;
long ss_alloc_get_free_bytes() {
return ss_alloc_buff + ALLOC_SIZE - ss_alloc_p;
}
long ss_alloc_get_used_bytes() {
return ss_alloc_p - ss_alloc_buff;
}
char *ss_alloc(int in) {
if (ss_alloc_get_free_bytes() >= in) {
ss_alloc_p += in;
return ss_alloc_p - in;
} else
return 0;
}
int ss_alloc_free(char *in) {
if (ss_alloc_buff <= in && in <= ss_alloc_buff + ALLOC_SIZE) {
ss_alloc_p = in;
return 1;
} else
return 0;
}