return(ret);
}
+static gchar *
+get_search_dir (MonoString *pattern)
+{
+ gchar *p;
+ gchar *result;
+
+ p = mono_string_to_utf8 (pattern);
+ result = g_path_get_dirname (p);
+ g_free (p);
+ return result;
+}
+
MonoArray *
ves_icall_System_IO_MonoIO_GetFileSystemEntries (MonoString *path,
MonoString *path_with_pattern,
WIN32_FIND_DATA data;
HANDLE find_handle;
GPtrArray *names;
- gchar *utf8_result;
+ gchar *utf8_path, *utf8_result, *full_name;
MONO_ARCH_SAVE_REGS;
return(NULL);
}
+ utf8_path = get_search_dir (path_with_pattern);
names = g_ptr_array_new ();
do {
continue;
}
- g_ptr_array_add (names, utf8_result);
+ full_name = g_build_filename (utf8_path, utf8_result, NULL);
+ g_ptr_array_add (names, full_name);
+
+ g_free (utf8_result);
}
} while(FindNextFile (find_handle, &data));
g_free (g_ptr_array_index (names, i));
}
g_ptr_array_free (names, TRUE);
+ g_free (utf8_path);
return result;
}
MONO_ARCH_SAVE_REGS;
*error=ERROR_SUCCESS;
+
+ MONO_CHECK_ARG_NULL (dest);
if (dest_offset + count > mono_array_length (dest))
return 0;
MONO_ARCH_SAVE_REGS;
*error=ERROR_SUCCESS;
+
+ MONO_CHECK_ARG_NULL (src);
if (src_offset + count > mono_array_length (src))
return 0;