]> git.proxmox.com Git - wasi-libc.git/blob - libc-bottom-half/sources/getcwd.c
Fix a warning.
[wasi-libc.git] / libc-bottom-half / sources / getcwd.c
1 #include <unistd.h>
2 #include <errno.h>
3 #include <string.h>
4
5 // For threads this needs to synchronize with chdir
6 #ifdef _REENTRANT
7 #error "getcwd doesn't yet support multiple threads"
8 #endif
9
10 char *__wasilibc_cwd = "/";
11
12 char *getcwd(char *buf, size_t size)
13 {
14 if (!buf) {
15 buf = strdup(__wasilibc_cwd);
16 if (!buf) {
17 errno = ENOMEM;
18 return NULL;
19 }
20 } else {
21 size_t len = strlen(__wasilibc_cwd);
22 if (size < len + 1) {
23 errno = ERANGE;
24 return NULL;
25 }
26 strcpy(buf, __wasilibc_cwd);
27 }
28 return buf;
29 }
30