/* lib.c * tag: simple function library * * Copyright (C) 2003 Stefan Reinauer * * See the file "COPYING" for further information about * the copyright and warranty status of this work. */ #include "config.h" #include "asm/types.h" #include #include "libc/stdlib.h" #include "libc/vsprintf.h" #include "kernel/kernel.h" /* Format a string and print it on the screen, just like the libc * function printf. */ int printk( const char *fmt, ... ) { char *p, buf[512]; va_list args; int i; va_start(args, fmt); i = vsnprintf(buf, sizeof(buf), fmt, args); va_end(args); for( p=buf; *p; p++ ) putchar(*p); return i; } // dumb quick memory allocator until we get a decent thing here. #define MEMSIZE 128*1024 static char memory[MEMSIZE]; static void *memptr=memory; static int memsize=MEMSIZE; void *malloc(int size) { void *ret=(void *)0; if(memsize>=size) { memsize-=size; ret=memptr; memptr+=size; } return ret; } void free(void *ptr) { /* Nothing yet */ }