1424{
1425 static const WCHAR dotconfig[] = {
'.',
'c',
'o',
'n',
'f',
'i',
'g',0};
1426 static const WCHAR scW[] = {
';',0};
1435 SIZE_T config_file_dir_size;
1437 ICLRRuntimeInfo *
info;
1441 int i, number_of_private_paths = 0;
1442
1444
1446
1448
1451 {
1453 return -1;
1454 }
1455
1457
1459 wcscat(config_file, dotconfig);
1460
1463 {
1464#ifndef __REACTOS__
1466#endif
1468 if (parsed_config.
private_path[
i] ==
';') number_of_private_paths++;
1470 config_file_dir_size = (
wcsrchr(config_file,
'\\') - config_file) + 1;
1471 priv_path =
malloc((number_of_private_paths + 1) *
sizeof(
WCHAR *));
1472
1473#ifdef __REACTOS__
1475#else
1477#endif
1478 for (
i = 0;
i < number_of_private_paths;
i++)
1479 {
1481 memcpy(priv_path[
i], config_file, config_file_dir_size *
sizeof(
WCHAR));
1482 wcscpy(priv_path[
i] + config_file_dir_size,
temp);
1483#ifdef __REACTOS__
1485#else
1487#endif
1488 }
1489 priv_path[number_of_private_paths] =
NULL;
1491 ERR(
"private_path was already set\n");
1492 }
1493
1495
1497
1499 {
1501
1504
1506 {
1509
1512
1514 {
1515 mono_callspec_set_assembly(
assembly);
1516
1518 }
1519 else
1520 {
1523 }
1524 }
1525 else
1527
1528 ICLRRuntimeInfo_Release(
info);
1529 }
1530 else
1532
1534
1536 {
1537 mono_thread_manage();
1538 mono_runtime_quit();
1539 }
1540
1542
1544}
static void FixupVTable(HMODULE hmodule)
static HRESULT RuntimeHost_GetDefaultDomain(RuntimeHost *This, const WCHAR *config_path, MonoDomain **result)
static void get_utf8_args(int *argc, char ***argv)
DWORD WINAPI GetModuleFileNameW(HINSTANCE hModule, LPWSTR lpFilename, DWORD nSize)
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
VOID WINAPI ExitProcess(IN UINT uExitCode)
HRESULT parse_config_file(LPCWSTR filename, parsed_config_file *result)
void free_parsed_config_file(parsed_config_file *file)
_ACRTIMP wchar_t *__cdecl wcstok_s(wchar_t *, const wchar_t *, wchar_t **)
_ACRTIMP size_t __cdecl wcslen(const wchar_t *)
_ACRTIMP wchar_t *__cdecl wcstok(wchar_t *, const wchar_t *)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define InterlockedCompareExchangePointer
#define memcpy(s1, s2, n)
static CHAR filenameA[MAX_PATH]
char * WtoA(LPCWSTR wstr)
struct _MonoAssembly MonoAssembly
struct _MonoImage MonoImage
struct _MonoDomain MonoDomain