Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / metadata / w32process.c
index affa016604dae8b8162ae0b86452a1e3ed513c83..255314f5b604aca7bd904d4bf385eecbd4c83860 100644 (file)
@@ -1,3 +1,6 @@
+/**
+ * \file
+ */
 
 #include <glib.h>
 
@@ -143,7 +146,7 @@ process_set_field_string (MonoObject *obj, const gchar *fieldname, const gunicha
        MonoClassField *field;
        MonoString *string;
 
-       mono_error_init (error);
+       error_init (error);
 
        LOGDEBUG (g_message ("%s: Setting field %s to [%s]", __func__, fieldname, g_utf16_to_utf8 (val, len, NULL, NULL, NULL)));
 
@@ -163,13 +166,14 @@ process_set_field_string (MonoObject *obj, const gchar *fieldname, const gunicha
 }
 
 static void
-process_set_field_string_char (MonoObject *obj, const gchar *fieldname, const gchar *val)
+process_set_field_string_char (MonoObject *obj, const gchar *fieldname, const gchar *val, MonoError *error)
 {
        MonoDomain *domain;
        MonoClass *klass;
        MonoClassField *field;
        MonoString *string;
 
+       error_init (error);
        LOGDEBUG (g_message ("%s: Setting field %s to [%s]", __func__, fieldname, val));
 
        domain = mono_object_domain (obj);
@@ -181,7 +185,8 @@ process_set_field_string_char (MonoObject *obj, const gchar *fieldname, const gc
        field = mono_class_get_field_from_name (klass, fieldname);
        g_assert (field);
 
-       string = mono_string_new (domain, val);
+       string = mono_string_new_checked (domain, val, error);
+       return_if_nok (error);
 
        mono_gc_wbarrier_generic_store (((char *)obj) + field->offset, (MonoObject*)string);
 }
@@ -281,7 +286,7 @@ process_module_string_read (MonoObject *filever, gpointer data, const gchar *fie
        gunichar2 *lang_key, *buffer;
        UINT chars;
 
-       mono_error_init (error);
+       error_init (error);
 
        lang_key_utf8 = g_strdup_printf (key, lang_lo, lang_hi, 0x04, 0xb0);
 
@@ -325,7 +330,7 @@ mono_w32process_get_fileversion (MonoObject *filever, gunichar2 *filename, MonoE
        gunichar2 lang_buf[128];
        guint32 lang, lang_count;
 
-       mono_error_init (error);
+       error_init (error);
 
        datalen = mono_w32process_get_fileversion_info_size (filename, &verinfohandle);
        if (datalen) {
@@ -464,7 +469,7 @@ process_add_module (HANDLE process, HMODULE mod, gunichar2 *filename, gunichar2
        MODULEINFO modinfo;
        BOOL ok;
 
-       mono_error_init (error);
+       error_init (error);
 
        /* Build a System.Diagnostics.ProcessModule with the data. */
        item = mono_object_new_checked (domain, proc_class, error);
@@ -513,7 +518,7 @@ process_get_module (MonoAssembly *assembly, MonoClass *proc_class, MonoError *er
        gchar *filename;
        const gchar *modulename;
 
-       mono_error_init (error);
+       error_init (error);
 
        domain = mono_domain_get ();
 
@@ -529,13 +534,16 @@ process_get_module (MonoAssembly *assembly, MonoClass *proc_class, MonoError *er
        filename = g_strdup_printf ("[In Memory] %s", modulename);
 
        process_get_assembly_fileversion (filever, assembly);
-       process_set_field_string_char (filever, "filename", filename);
+       process_set_field_string_char (filever, "filename", filename, error);
+       return_val_if_nok (error, NULL);
        process_set_field_object (item, "version_info", filever);
 
        process_set_field_intptr (item, "baseaddr", assembly->image->raw_data);
        process_set_field_int (item, "memory_size", assembly->image->raw_data_len);
-       process_set_field_string_char (item, "filename", filename);
-       process_set_field_string_char (item, "modulename", modulename);
+       process_set_field_string_char (item, "filename", filename, error);
+       return_val_if_nok (error, NULL);
+       process_set_field_string_char (item, "modulename", modulename, error);
+       return_val_if_nok (error, NULL);
 
        g_free (filename);