#include #include #include #include #include "syscall.h" char *getcwd(char *buf, size_t size) { char tmp[PATH_MAX]; if (!buf) { buf = tmp; size = PATH_MAX; } else if (!size) { errno = EINVAL; return 0; } if (syscall(SYS_getcwd, buf, size) < 0) return 0; return buf == tmp ? strdup(buf) : buf; }