2004-12-11 Martin Baulig <martin@ximian.com>
authorMartin Baulig <martin@novell.com>
Sat, 11 Dec 2004 00:28:18 +0000 (00:28 -0000)
committerMartin Baulig <martin@novell.com>
Sat, 11 Dec 2004 00:28:18 +0000 (00:28 -0000)
* get.c (get_class_name): Renamed to get_escaped_class_name() and
return an escaped class name; correctly escape nested classes.

svn path=/trunk/mono/; revision=37615

mono/dis/ChangeLog
mono/dis/get.c

index f2bfba4f9e6d78d6f018da174d6cc9ef881ca4fe..45e442ca2539847408b7f050efd80e3c0558eaa0 100644 (file)
@@ -1,3 +1,8 @@
+2004-12-11  Martin Baulig  <martin@ximian.com>
+
+       * get.c (get_class_name): Renamed to get_escaped_class_name() and
+       return an escaped class name; correctly escape nested classes.
+
 2004-12-11  Martin Baulig  <martin@ximian.com>
 
        * get.c (dis_stringify_type): Added `gboolean is_def' argument; if
index 35ca6ea91b3f03d63ed1949225cacd35503a1b0e..35b9cee1b61f31d8386b81ab56071a824cb70724 100644 (file)
@@ -734,20 +734,24 @@ dis_stringify_function_ptr (MonoImage *m, MonoMethodSignature *method)
 }
 
 static char *
-get_class_name (MonoClass *c)
+get_escaped_class_name (MonoClass *c)
 {
+       char *result, *esname;
+
+       esname = get_escaped_name (c->name);
+
        if (c->nested_in){
-               char *part_a = get_class_name (c->nested_in);
-               char *result;
+               char *part_a = get_escaped_class_name (c->nested_in);
 
-               result = g_strdup_printf ("%s/%s", part_a, c->name);
+               result = g_strdup_printf ("%s/%s", part_a, esname);
                g_free (part_a);
-               return result;
-       }
-       if (*c->name_space)
-               return g_strdup_printf ("%s.%s", c->name_space, c->name);
+       } else if (*c->name_space)
+               result = g_strdup_printf ("%s.%s", c->name_space, esname);
        else
-               return g_strdup (c->name);
+               result = g_strdup (esname);
+
+       g_free (esname);
+       return result;
 }
 
 char *
@@ -773,10 +777,7 @@ dis_stringify_object_with_class (MonoImage *m, MonoClass *c, gboolean prefix, gb
                }
        }
 
-       result = get_class_name (c);
-       
-       esname = get_escaped_name (result);
-       g_free (result);
+       esname = get_escaped_class_name (c);
 
        if (c->generic_class) {
                MonoGenericClass *gclass = c->generic_class;