mirror of
https://github.com/janet-lang/janet
synced 2024-12-26 08:20:27 +00:00
Add os.cwd
This commit is contained in:
parent
5b62630a9b
commit
245fb948f1
@ -28,6 +28,7 @@
|
|||||||
|
|
||||||
#ifdef DST_WINDOWS
|
#ifdef DST_WINDOWS
|
||||||
#include <Windows.h>
|
#include <Windows.h>
|
||||||
|
#include <direct.h>
|
||||||
#else
|
#else
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
@ -116,6 +117,21 @@ static int os_sleep(DstArgs args) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int os_cwd(DstArgs args) {
|
||||||
|
DST_FIXARITY(args, 0);
|
||||||
|
char buf[FILENAME_MAX];
|
||||||
|
char *ptr;
|
||||||
|
#ifdef DST_WINDOWS
|
||||||
|
ptr = _getcwd(buf, FILENAME_MAX);
|
||||||
|
#else
|
||||||
|
ptr = getcwd(buf, FILENAME_MAX);
|
||||||
|
#endif
|
||||||
|
if (NULL == ptr) {
|
||||||
|
DST_THROW(args, "could not get current directory");
|
||||||
|
}
|
||||||
|
DST_RETURN_CSTRING(args, ptr);
|
||||||
|
}
|
||||||
|
|
||||||
static const DstReg cfuns[] = {
|
static const DstReg cfuns[] = {
|
||||||
{"os.execute", os_execute},
|
{"os.execute", os_execute},
|
||||||
{"os.exit", os_exit},
|
{"os.exit", os_exit},
|
||||||
@ -123,6 +139,7 @@ static const DstReg cfuns[] = {
|
|||||||
{"os.setenv", os_setenv},
|
{"os.setenv", os_setenv},
|
||||||
{"os.clock", os_clock},
|
{"os.clock", os_clock},
|
||||||
{"os.sleep", os_sleep},
|
{"os.sleep", os_sleep},
|
||||||
|
{"os.cwd", os_cwd},
|
||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user