All pastes #369567 Raw Edit

Bchaos

public c v1 · immutable
#369567 ·published 2007-02-23 22:40 UTC
rendered paste body
#include "Memory.h"#define NULL 0struct Malloc {void *a;struct Malloc * next;int size;int isfree;}*malloc_begin, *New, *b;void* calloc(size_t nmemb, size_t size){void *a=(void *)sbrk(size);void *ptr;ptr=a;while( nmemb-1 !=0){a=(void *)sbrk(size);if(a==(void *)-1)return NULL;nmemb--;}return ptr;}void* malloc(size_t size){printf("got here\n");printf("%d\n", malloc_begin->a);if (malloc_begin->a==(void *) NULL){New->a=(void *)sbrk(size);New->size=size;if (New->a==(void *)-1){printf (" an error has occured") ;return NULL;}malloc_begin->a=New->a;}else{New=malloc_begin; while ( New->next && ( New->isfree==0 && New->size== size))New=New->next; if( New->isfree==1 && New->size ==size){New->isfree=0;return New->a;}New->next=b;b->a=(void *)sbrk(size);b->size=size;if (b->a==(void *)-1){printf (" an error has occured") ;return NULL;}}return b->a;}void free(void *ptr){}void *realloc(void *ptr, size_t size){void *a;if (ptr==0){ptr=malloc(size);if(ptr==NULL)return NULL;}else{if (size==0)free(ptr);else {a=malloc( sizeof(ptr)); if(a==NULL)return NULL;a=ptr;free(ptr);ptr=malloc(size);if(ptr==NULL)return NULL;ptr=a;}}return ptr;}