68 lines
1.1 KiB
C
68 lines
1.1 KiB
C
#include "library/xStdlib.h"
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
|
|
#define CHECK(expr) \
|
|
do { \
|
|
if (!(expr)) { \
|
|
fprintf(stderr, "CHECK failed at %s:%d: %s\n", __FILE__, __LINE__, #expr); \
|
|
return 1; \
|
|
} \
|
|
} while (0)
|
|
|
|
int main(void)
|
|
{
|
|
unsigned char *p = LB_zalloc(32);
|
|
unsigned char *m;
|
|
unsigned char *stack;
|
|
size_t i;
|
|
|
|
CHECK(p != NULL);
|
|
for (i = 0; i < 32; ++i) {
|
|
CHECK(p[i] == 0);
|
|
}
|
|
|
|
memset(p, 0x5a, 32);
|
|
p = LB_zrealloc(p, 64);
|
|
CHECK(p != NULL);
|
|
for (i = 0; i < 32; ++i) {
|
|
CHECK(p[i] == 0x5a);
|
|
}
|
|
|
|
free(p);
|
|
|
|
p = zalloc(8);
|
|
CHECK(p != NULL);
|
|
for (i = 0; i < 8; ++i) {
|
|
CHECK(p[i] == 0);
|
|
}
|
|
p = zrealloc(p, 16);
|
|
CHECK(p != NULL);
|
|
free(p);
|
|
|
|
m = LB_malloc(16);
|
|
CHECK(m != NULL);
|
|
memset(m, 0x33, 16);
|
|
m = LB_realloc(m, 32);
|
|
CHECK(m != NULL);
|
|
for (i = 0; i < 16; ++i) {
|
|
CHECK(m[i] == 0x33);
|
|
}
|
|
LB_free(m);
|
|
|
|
m = LB_mallocWithFlags(12, ZERO_FILL);
|
|
CHECK(m != NULL);
|
|
for (i = 0; i < 12; ++i) {
|
|
CHECK(m[i] == 0);
|
|
}
|
|
LB_free(m);
|
|
|
|
stack = LB_StackAllocate(24);
|
|
CHECK(stack != NULL);
|
|
memset(stack, 0x7e, 24);
|
|
LB_StackFree(stack, 24);
|
|
return 0;
|
|
}
|