1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 00:37:45 +00:00

Canonicalize the path used by sh.

With a bunch of LibC work to support the feature. LibC now initializes
AK::StringImpl by default. It's now fine to use AK in LibC/Userland! :^)
This commit is contained in:
Andreas Kling 2018-10-28 09:36:21 +01:00
parent 88ad59bfb1
commit e904f193c1
15 changed files with 170 additions and 24 deletions

View file

@ -3,10 +3,52 @@
#include "Compiler.h"
#ifdef SERENITY
#ifdef USERLAND
#include <LibC/stdlib.h>
#else
#ifdef KERNEL
#include <Kernel/kmalloc.h>
#else
#include <LibC/stdlib.h>
extern "C" {
void* kcalloc(size_t nmemb, size_t size);
void* kmalloc(size_t size) MALLOC_ATTR;
void kfree(void* ptr);
void* krealloc(void* ptr, size_t size);
}
inline void* operator new(size_t size)
{
return kmalloc(size);
}
inline void* operator new[](size_t size)
{
return kmalloc(size);
}
inline void operator delete(void* ptr)
{
return kfree(ptr);
}
inline void operator delete[](void* ptr)
{
return kfree(ptr);
}
inline void operator delete(void* ptr, size_t)
{
return kfree(ptr);
}
inline void operator delete[](void* ptr, size_t)
{
return kfree(ptr);
}
inline void* operator new(size_t, void* p) { return p; }
inline void* operator new[](size_t, void* p) { return p; }
#endif
#else
#include <new>