/* * fake sbrk implementation by RL @ Aetey Global Technologies AB * 2016-04-13 * put in public domain by the author */ #include #include /* preallocate 10 Mbyte */ #define POOLSIZE 10485760 static char brkspace[POOLSIZE]; static int brki = 0; void *sbrk(intptr_t incr) { int prev; /* do not mind leaking memory on negative incr, * ex does not seem to use this */ if (incr <= 0) return (void *)(brkspace+brki); if (incr > POOLSIZE-brki) { errno = ENOMEM; return (void *)-1; } prev = brki; brki += incr; return (void *)(brkspace+prev); }