on master help sign in
fix with MKSTR
commitc9e8cf924da59619a7010f833dbb8b2bbb6856bf authordoofin <8177dph@gmail.com> dateWed 25 Jul 2018, 17:25 (8 years ago) parentc0360f6
3 files changed+8−6
libs/prelude/Prelude/File.idr+4−2 rts/idris_stdfgn.c+3−3 rts/idris_stdfgn.h+1−1
libs/prelude/Prelude/File.idr+4−2
@@ -377,5 +377,7 @@ changeDir dir
377377 pure (ok == 0)
378378
379379export
380−currentDir : IO String
381−currentDir = foreign FFI_C "idris_currentDir" (IO String)
380+currentDir : IO String
381+currentDir = do
382+ MkRaw s <- foreign FFI_C "idris_currentDir" (IO (Raw String))
383+ pure s
rts/idris_stdfgn.c+3−3
@@ -260,10 +260,10 @@ VAL idris_getString(VM* vm, void* buffer) {
260260 return str;
261261}
262262
263−char* idris_currentDir() {
263+VAL idris_currentDir() {
264264 char cwd[1024];
265265 if (getcwd(cwd, sizeof(cwd)) != NULL)
266− return cwd;
266+ return MKSTRlen(get_vm(),cwd,1024);
267267 else
268− return "getcwd() error";
268+ return MKSTR(get_vm(),"getcwd() error");
269269}
rts/idris_stdfgn.h+1−1
@@ -55,6 +55,6 @@ VAL idris_time();
5555
5656void idris_forceGC();
5757
58−char* idris_currentDir();
58+VAL idris_currentDir();
5959
6060#endif