[PATCH 4/5] winedbg/gdbproxy: Simplify packet_verbose().

Zebediah Figura z.figura12 at gmail.com
Mon Jul 30 14:47:55 CDT 2018


Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 programs/winedbg/gdbproxy.c | 46 ++++-----------------------------------------
 1 file changed, 4 insertions(+), 42 deletions(-)

diff --git a/programs/winedbg/gdbproxy.c b/programs/winedbg/gdbproxy.c
index da179a6..2d41edc 100644
--- a/programs/winedbg/gdbproxy.c
+++ b/programs/winedbg/gdbproxy.c
@@ -1070,55 +1070,17 @@ static enum packet_return packet_verbose_cont(struct gdb_context* gdbctx)
     return packet_reply_status(gdbctx);
 }
 
-struct verbose_defail
-{
-    const char*         name;
-    unsigned            len;
-    enum packet_return  (*handler)(struct gdb_context*);
-} verbose_details[] =
-{
-    /* {"Attach",           6}, */
-    {"Cont",             4, packet_verbose_cont},
-    /* {"File",             4},
-    {"FlashErase",      10},
-    {"FlashWrite",      10},
-    {"FlashDone",        9},
-    {"Kill",             4},
-    {"Run",              3},
-    {"Stopped",          7},*/
-};
-
 static enum packet_return packet_verbose(struct gdb_context* gdbctx)
 {
-    unsigned i;
-    unsigned klen;
-
-    for (klen = 0; ; klen++)
+    if (gdbctx->in_packet_len >= 4 && !memcmp(gdbctx->in_packet, "Cont", 4))
     {
-        if (klen == gdbctx->in_packet_len ||
-            gdbctx->in_packet[klen] == ';' ||
-            gdbctx->in_packet[klen] == ':' ||
-            gdbctx->in_packet[klen] == '?')
-        {
-            TRACE("Trying to process verbose packet %s\n",
-                debugstr_an(gdbctx->in_packet, gdbctx->in_packet_len));
-            for (i = 0; i < ARRAY_SIZE(verbose_details); i++)
-            {
-                if (klen == verbose_details[i].len &&
-                    !memcmp(gdbctx->in_packet, verbose_details[i].name, verbose_details[i].len))
-                {
-                    return verbose_details[i].handler(gdbctx);
-                }
-            }
-            /* no matching handler found, abort */
-            break;
-        }
+        return packet_verbose_cont(gdbctx);
     }
 
-    WARN("No support for verbose packet %s\n",
+    WARN("Unhandled verbose packet %s\n",
         debugstr_an(gdbctx->in_packet, gdbctx->in_packet_len));
     return packet_error;
- }
+}
 
 static enum packet_return packet_continue_signal(struct gdb_context* gdbctx)
 {
-- 
2.7.4




More information about the wine-devel mailing list