Eric Pouech : winedbg: Fix printing function signature type for circular references on return type .

Alexandre Julliard julliard at wine.codeweavers.com
Mon Mar 5 06:23:34 CST 2007


Module: wine
Branch: master
Commit: dbe0610bb4d0720677a0e83f0735c5f87c05604f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=dbe0610bb4d0720677a0e83f0735c5f87c05604f

Author: Eric Pouech <eric.pouech at wanadoo.fr>
Date:   Sun Mar  4 17:04:13 2007 +0100

winedbg: Fix printing function signature type for circular references on return type.

---

 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_type* type, BOOL details)
         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-cvs mailing list