X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=src%2Ffile-system.cpp;h=44171b362c46f4ecce38a9503a11f29c22cc9d82;hb=37aba303eccc24a407f1b5b0af81623e47b89a22;hp=da856f4626b5b87d93e796a6993c5aa4dad7baa8;hpb=bdd3bebca0131db5ecaf7219b6019ee267468538;p=guile-irrlicht.git diff --git a/src/file-system.cpp b/src/file-system.cpp index da856f4..44171b3 100644 --- a/src/file-system.cpp +++ b/src/file-system.cpp @@ -25,6 +25,7 @@ #include "device.h" #include "file-archive.h" #include "file-system.h" +#include "gsubr.h" #include "gui-environment.h" #include "scene-manager.h" @@ -34,9 +35,8 @@ extern "C" { init_file_system (void) { init_file_system_type (); - scm_c_define_gsubr ("add-file-archive!", 2, 0, 1, (scm_t_subr)irr_io_addFileArchive); - scm_c_define_gsubr ("get-file-system", 1, 0, 0, (scm_t_subr)irr_getFileSystem); - scm_c_export ("add-file-archive!", "get-file-system", NULL); + DEFINE_GSUBR ("add-file-archive!", 2, 0, 1, irr_io_addFileArchive); + DEFINE_GSUBR ("get-file-system", 1, 0, 0, irr_getFileSystem); } DEFINE_WRAPPED_TYPE (irr::io::IFileSystem*, "file-system", @@ -48,11 +48,11 @@ extern "C" { SCM filename, SCM rest) { - SCM ignore_case = scm_from_bool (1); - SCM ignore_paths = scm_from_bool (1); + SCM ignore_case = SCM_BOOL_T; + SCM ignore_paths = SCM_BOOL_T; SCM archive_type = scm_from_utf8_symbol ("unknown"); SCM password = scm_from_utf8_string (""); - SCM ret_archive = scm_from_bool (0); + SCM ret_archive = SCM_UNDEFINED; scm_c_bind_keyword_arguments ("add-file-archive!", rest, (scm_t_keyword_arguments_flags)0, scm_from_utf8_keyword ("ignore-case"), &ignore_case, @@ -63,7 +63,7 @@ extern "C" { SCM_UNDEFINED); irr::io::IFileArchive** retArchiveReference = 0; - if (!scm_is_false (ret_archive)) + if (ret_archive != SCM_UNDEFINED) { irr::io::IFileArchive* retArchive = unwrap_file_archive (ret_archive); retArchiveReference = &retArchive;