on master help sign in
add currentDir
commitd026c4e9b5eeb885c5b6fced59358c57978d4c8c authordoofin <8177dph@gmail.com> dateWed 25 Jul 2018, 14:42 (8 years ago) parentc6c087f
3 files changed+14
libs/prelude/Prelude/File.idr+4 rts/idris_stdfgn.c+8 rts/idris_stdfgn.h+2
libs/prelude/Prelude/File.idr+4
@@ -375,3 +375,7 @@ changeDir : String -> IO Bool
375375changeDir dir
376376 = do ok <- foreign FFI_C "idris_chdir" (String -> IO Int) dir
377377 pure (ok == 0)
378+
379+export
380+currentDir : IO String
381+currentDir = foreign FFI_C "idris_currentDir" (IO String)
rts/idris_stdfgn.c+8
@@ -259,3 +259,11 @@ VAL idris_getString(VM* vm, void* buffer) {
259259 free(sb);
260260 return str;
261261}
262+
263+char* idris_currentDir() {
264+ char cwd[1024];
265+ if (getcwd(cwd, sizeof(cwd)) != NULL)
266+ return cwd
267+ else
268+ return "getcwd() error"
269+}
rts/idris_stdfgn.h+2
@@ -55,4 +55,6 @@ VAL idris_time();
5555
5656void idris_forceGC();
5757
58+char* idris_currentDir();
59+
5860#endif