#include "file-archive.h"
#include "file-system.h"
#include "gsubr.h"
+#include "wrapped.h"
using namespace irr;
SCM password,
SCM ret_archive)
{
- io::IFileArchive* retArchive = (io::IFileArchive*)scm_to_pointer (ret_archive);
+ io::IFileArchive* retArchive = (io::IFileArchive*)scm_to_irr_pointer (ret_archive);
io::IFileArchive** retArchiveReference = 0;
if (retArchive != NULL)
{
retArchiveReference = &retArchive;
}
- return scm_from_bool
- (((io::IFileSystem*)scm_to_pointer (file_system))->
- addFileArchive (scm_to_utf8_stringn (filename, NULL),
+ char* cfilename = scm_to_utf8_string (filename);
+ char* cpassword = scm_to_utf8_string (password);
+ bool result =
+ (((io::IFileSystem*)scm_to_irr_pointer (file_system))->
+ addFileArchive (cfilename,
scm_to_bool (ignore_case),
scm_to_bool (ignore_paths),
scm_to_file_archive_type (archive_type),
- scm_to_utf8_stringn (password, NULL),
+ cpassword,
retArchiveReference));
+
+ free (cfilename);
+ free (cpassword);
+ return scm_from_bool (result);
}
void