aboutsummaryrefslogtreecommitdiff
path: root/src/rt
diff options
context:
space:
mode:
Diffstat (limited to 'src/rt')
-rw-r--r--src/rt/rust_builtin.cpp11
-rw-r--r--src/rt/rust_run_program.cpp6
-rw-r--r--src/rt/rustrt.def.in2
3 files changed, 18 insertions, 1 deletions
diff --git a/src/rt/rust_builtin.cpp b/src/rt/rust_builtin.cpp
index 2de9d7f4..3f2ae511 100644
--- a/src/rt/rust_builtin.cpp
+++ b/src/rt/rust_builtin.cpp
@@ -417,9 +417,9 @@ rust_str* c_str_to_rust(rust_task *task, char const *str) {
return vec_alloc_with_data(task, len, len, 1, (void*)str);
}
-#if defined(__WIN32__)
extern "C" CDECL rust_vec*
rust_list_files(rust_task *task, rust_str *path) {
+#if defined(__WIN32__)
array_list<rust_str*> strings;
WIN32_FIND_DATA FindFileData;
HANDLE hFind = FindFirstFile((char*)path->data, &FindFileData);
@@ -431,6 +431,15 @@ rust_list_files(rust_task *task, rust_str *path) {
}
return vec_alloc_with_data(task, strings.size(), strings.size(),
sizeof(rust_str*), strings.data());
+#else
+ return NULL;
+#endif
+}
+
+#if defined(__WIN32__)
+extern "C" CDECL rust_str *
+rust_dirent_filename(rust_task *task, void* ent) {
+ return NULL;
}
#else
extern "C" CDECL rust_str *
diff --git a/src/rt/rust_run_program.cpp b/src/rt/rust_run_program.cpp
index 5919f68e..7b73586e 100644
--- a/src/rt/rust_run_program.cpp
+++ b/src/rt/rust_run_program.cpp
@@ -76,6 +76,12 @@ rust_run_program(rust_task* task, char* argv[],
exit(1);
}
+extern "C" CDECL int
+rust_process_wait(void* task, int proc) {
+ // FIXME: stub; exists to placate linker.
+ return 0;
+}
+
#else
#error "Platform not supported."
#endif
diff --git a/src/rt/rustrt.def.in b/src/rt/rustrt.def.in
index df9e26af..be51770a 100644
--- a/src/rt/rustrt.def.in
+++ b/src/rt/rustrt.def.in
@@ -17,6 +17,8 @@ rust_dirent_filename
rust_file_is_dir
rust_get_stdin
rust_get_stdout
+rust_list_files
+rust_process_wait
rust_run_program
rust_start
size_of