if (!method) {
const char *sig = mono_metadata_blob_heap (m, cols [MONO_METHOD_SIGNATURE]);
mono_metadata_decode_blob_size (sig, &sig);
- method = mono_metadata_parse_method_signature (m, 1, sig, &sig);
+ method = mono_metadata_parse_method_signature (m, methoddef_row, sig, &sig);
free_method = 1;
}
}
if (allocated_modifier_string)
g_free (allocated_modifier_string);
if (allocated_type_string)
- g_free (allocated_modifier_string);
+ g_free (allocated_type_string);
return res;
}
case MONO_NATIVE_LPTSTR:
return g_strdup ("lptstr");
case MONO_NATIVE_BYVALTSTR:
+ size = mono_metadata_decode_value (blob + 1, &blob);
return g_strdup_printf ("fixed sysstring [%d]", size);
case MONO_NATIVE_IUNKNOWN:
return g_strdup ("iunknown");
case MONO_NATIVE_SAFEARRAY:
return g_strdup ("safearray");
case MONO_NATIVE_BYVALARRAY:
+ size = mono_metadata_decode_value (blob + 1, &blob);
return g_strdup_printf ("fixed array [%d]", size);
case MONO_NATIVE_INT:
return g_strdup ("int");