Fix mono exception handler crashing on windows.
[mono.git] / mono / dis / main.c
index 37d389b1bdb08ae6f830c3a03e1af2c5bc8fb314..42d735b0f751ed7780406a0b3448bb0ebac2048d 100644 (file)
@@ -30,6 +30,7 @@
 #include <mono/metadata/loader.h>
 #include <mono/metadata/assembly.h>
 #include <mono/metadata/appdomain.h>
+#include <mono/utils/bsearch.h>
 
 static void     setup_filter          (MonoImage *image);
 static gboolean should_include_type   (int idx);
@@ -862,8 +863,10 @@ dis_method_list (const char *klass_name, MonoImage *m, guint32 start, guint32 en
                if (ms != NULL){
                        sig_str = dis_stringify_method_signature (m, ms, i + 1, container, FALSE);
                        method_name = mono_metadata_string_heap (m, cols [MONO_METHOD_NAME]);
-               } else
+               } else {
+                       sig_str = NULL;
                        method_name = g_strdup ("<NULL METHOD SIGNATURE>");
+               }
 
                fprintf (output, "    // method line %d\n", i + 1);
                fprintf (output, "    .method %s", flags);
@@ -1107,7 +1110,7 @@ dis_interfaces (MonoImage *m, guint32 typedef_row, MonoGenericContainer *contain
        loc.col_idx = MONO_INTERFACEIMPL_CLASS;
        loc.idx = typedef_row;
 
-       if (!bsearch (&loc, table->base, table->rows, table->row_size, table_locator))
+       if (!mono_binary_search (&loc, table->base, table->rows, table->row_size, table_locator))
                return;
 
        start = loc.result;
@@ -1678,7 +1681,7 @@ table_includes (TableFilter *tf, int idx)
 {
        if (!tf->count)
                return FALSE;
-       return bsearch (&idx, tf->elems, tf->count, sizeof (int), int_cmp) != NULL;
+       return mono_binary_search (&idx, tf->elems, tf->count, sizeof (int), int_cmp) != NULL;
 }
 
 static gboolean