Merge pull request #2338 from BogdanovKirill/httpwritefix3
[mono.git] / mono / dis / dis-cil.c
old mode 100644 (file)
new mode 100755 (executable)
index dbd3b41..bc40414
 #include "get.h"
 #include "dump.h"
 #include "dis-cil.h"
+#include "util.h"
 #include "mono/metadata/opcodes.h"
 #include "mono/metadata/class-internals.h"
 #include "mono/utils/mono-compiler.h"
 
-#ifndef HAVE_ISINF
-
-#ifdef HAVE_IEEEFP_H
-#include <ieeefp.h>
-int isinf (double);
-int
-isinf (double num)
-{
-       fpclass_t klass;
-
-       klass = fpclass (num);
-       if (klass == FP_NINF)
-               return -1;
-
-       if (klass == FP_PINF)
-               return 1;
-
-       return 0;
-}
-#else
-#error "Don't know how to implement isinf for this platform."
-#endif
-
-#endif
-
 #define CODE_INDENT g_assert (indent_level < 512); \
        indent[indent_level*2] = ' ';   \
        indent[indent_level*2+1] = ' '; \
@@ -80,7 +56,7 @@ disassemble_cil (MonoImage *m, MonoMethodHeader *mh, MonoGenericContainer *conta
 #endif
 
        if (mh->num_clauses) {
-              trys = g_malloc0 (sizeof (gboolean) * mh->num_clauses);
+              trys = (gboolean *)g_malloc0 (sizeof (gboolean) * mh->num_clauses);
               trys [0] = 1;
               for (i=1; i < mh->num_clauses; ++i) {
 #define jcl mh->clauses [j]    
@@ -111,7 +87,7 @@ disassemble_cil (MonoImage *m, MonoMethodHeader *mh, MonoGenericContainer *conta
                                 } else {
                                         char * klass = mh->clauses[i].flags ? g_strdup ("") :
                                                dis_stringify_object_with_class (m, mh->clauses[i].data.catch_class,
-                                                                                FALSE, FALSE);
+                                                                                TRUE, FALSE);
                                         fprintf (output, "\t%s%s %s { // %d\n", indent,
                                                         clause_names [mh->clauses[i].flags], klass, i);
                                         g_free (klass);
@@ -191,16 +167,16 @@ disassemble_cil (MonoImage *m, MonoMethodHeader *mh, MonoGenericContainer *conta
                        double r;
                        int inf;
                        readr8 (ptr, &r);
-                       inf = isinf (r);
+                       inf = dis_isinf (r);
                        if (inf == -1) 
                                fprintf (output, "(00 00 00 00 00 00 f0 ff)"); /* negative infinity */
                        else if (inf == 1)
                                fprintf (output, "(00 00 00 00 00 00 f0 7f)"); /* positive infinity */
-                       else if (isnan (r))
+                       else if (dis_isnan (r))
                                fprintf (output, "(00 00 00 00 00 00 f8 ff)"); /* NaN */
                        else {
                                char *str = stringify_double (r);
-                               fprintf (output, str);
+                               fprintf (output, "%s", str);
                                g_free (str);
                        }
                        ptr += 8;
@@ -300,16 +276,16 @@ disassemble_cil (MonoImage *m, MonoMethodHeader *mh, MonoGenericContainer *conta
                        
                        readr4 (ptr, &f);
 
-                       inf = isinf (f);
+                       inf = dis_isinf (f);
                        if (inf == -1) 
                                fprintf (output, "(00 00 80 ff)"); /* negative infinity */
                        else if (inf == 1)
                                fprintf (output, "(00 00 80 7f)"); /* positive infinity */
-                       else if (isnan (f))
+                       else if (dis_isnan (f))
                                fprintf (output, "(00 00 c0 ff)"); /* NaN */
                        else {
                                char *str = stringify_double ((double) f);
-                               fprintf (output, str);
+                               fprintf (output, "%s", str);
                                g_free (str);
                        }
                        ptr += 4;