summaryrefslogtreecommitdiff
path: root/userland/libc/include
diff options
context:
space:
mode:
authorAnton Kling <anton@kling.gg>2024-10-02 15:56:24 +0200
committerAnton Kling <anton@kling.gg>2024-10-02 16:12:29 +0200
commit5a7640af235a2068c233ce47a56d74defd4c2f0e (patch)
tree5afbb84519a46dc1129d4de7d93f65b56e4cb7e2 /userland/libc/include
parent44848d566066dbea008eecf4c2b9916f051bad06 (diff)
libc: Add faster scandir function(scandir_sane).
This function is significantly faster due to not requiring memory allocations for each directory entry. Now they are instead just allocated as a large chunk. This function is not compatible with scandir since the cleanup of both function will be different. With this a new function scandir_sane_free has also been added. Besides having a function(like scandir) that forces the programmer to implement their own cleanup procedure that is anymore complicated than a simple free() call is absurd.
Diffstat (limited to 'userland/libc/include')
-rw-r--r--userland/libc/include/stdlib.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/userland/libc/include/stdlib.h b/userland/libc/include/stdlib.h
index 7e23035..a389e8c 100644
--- a/userland/libc/include/stdlib.h
+++ b/userland/libc/include/stdlib.h
@@ -10,6 +10,8 @@ typedef size_t size_t; // only for 32 bit
void *malloc(size_t s);
void *calloc(size_t nelem, size_t elsize);
+void *allocarray(size_t nmemb, size_t size);
+void *reallocarray(void *ptr, size_t nmemb, size_t size);
void *realloc(void *ptr, size_t size);
void free(void *p);
char *getenv(const char *name);