[PATCH] [WineDbg]: fix printing function signature type for circular references on

Eric Pouech eric.pouech at wanadoo.fr
Sun Mar 4 10:04:13 CST 2007


return type

A+
---

 programs/winedbg/types.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/programs/winedbg/types.c b/programs/winedbg/types.c
index 939e5df..bc3373b 100644
--- a/programs/winedbg/types.c
+++ b/programs/winedbg/types.c
@@ -676,8 +676,16 @@ int types_print_type(const struct dbg_ty
         break;
     case SymTagFunctionType:
         types_get_info(type, TI_GET_TYPE, &subtype.id);
-        subtype.module = type->module;
-        types_print_type(&subtype, FALSE);
+        /* is the returned type the same object as function sig itself ? */
+        if (subtype.id != type->id)
+        {
+            subtype.module = type->module;
+            types_print_type(&subtype, FALSE);
+        }
+        else
+        {
+            dbg_printf("<ret_type=self>");
+        }
         dbg_printf(" (*%s)(", name);
         if (types_get_info(type, TI_GET_CHILDRENCOUNT, &count))
         {



More information about the wine-patches mailing list