#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
char charheap[32];
char *char_alloc(int s) {
int len = 32;
for (int i = 0; i < len; i++) {
if (charheap[0] == '\0') {
//char a = charheap[0];
return charheap;
} else if (charheap[i] == '\0') {
//char b = charheap[i+1];
return &charheap[i+1];
}
}
return NULL;
}
void arr_print () {
for (char *p = charheap; p < charheap + sizeof(charheap); ++p) {
}
}
char *alloc_and_print(int s, const char *cpy) {
char *ncb = char_alloc(s);// allocate the next contiguous block
if (ncb == NULL) {
} else {
arr_print();// print the array
}
return ncb;
}
int main(void) {
char *str1 = alloc_and_print(5, "hello");
char *str2 = alloc_and_print(5, "brian");
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgojaW5jbHVkZSA8Y3R5cGUuaD4KCmNoYXIgY2hhcmhlYXBbMzJdOwoKY2hhciAqY2hhcl9hbGxvYyhpbnQgcykgewogaW50IGxlbiA9IDMyOwogIGZvciAoaW50IGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKICBpZiAoY2hhcmhlYXBbMF0gPT0gJ1wwJykgewogICAvL2NoYXIgYSA9IGNoYXJoZWFwWzBdOwogICByZXR1cm4gY2hhcmhlYXA7CiB9IGVsc2UgaWYgKGNoYXJoZWFwW2ldID09ICdcMCcpIHsKICAgLy9jaGFyIGIgPSBjaGFyaGVhcFtpKzFdOwogICByZXR1cm4gJmNoYXJoZWFwW2krMV07CiAgfQogfQogcmV0dXJuIE5VTEw7Cn0KCnZvaWQgYXJyX3ByaW50ICgpIHsKICAgIGZvciAoY2hhciAqcCA9IGNoYXJoZWFwOyBwIDwgY2hhcmhlYXAgKyBzaXplb2YoY2hhcmhlYXApOyArK3ApIHsKICAgICAgICBpZiAoaXNwcmludCgqcCkpIHB1dGNoYXIoKnApOwogICAgICAgIGVsc2UgcHV0Y2hhcignXFwnKTsKICAgIH0KICAgIHB1dGNoYXIoJ1xuJyk7Cn0KCiBjaGFyICphbGxvY19hbmRfcHJpbnQoaW50IHMsIGNvbnN0IGNoYXIgKmNweSkgewogICBjaGFyICpuY2IgPSBjaGFyX2FsbG9jKHMpOy8vIGFsbG9jYXRlIHRoZSBuZXh0IGNvbnRpZ3VvdXMgYmxvY2sKICAgaWYgKG5jYiA9PSBOVUxMKSB7CiAgICBwcmludGYoIkZhaWxlZFxuIik7CiAgIH0gZWxzZSB7CiAgICBzdHJjcHkobmNiLCBjcHkpOwogICAgYXJyX3ByaW50KCk7Ly8gcHJpbnQgdGhlIGFycmF5CiAgfQogIHJldHVybiBuY2I7CiB9CgppbnQgbWFpbih2b2lkKSB7CiAgIGNoYXIgKnN0cjEgPSBhbGxvY19hbmRfcHJpbnQoNSwgICJoZWxsbyIpOwogICBjaGFyICpzdHIyID0gYWxsb2NfYW5kX3ByaW50KDUsICAiYnJpYW4iKTsKICAgcHV0cyhzdHIxKTsKICAgcHV0cyhzdHIyKTsKIH0K