This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: [MI] Wrong error message when parsing invalid --thread-group


From: Tom Tromey [tromey@redhat.com]

>>>>> "Marc" == Marc Khouzam <marc.khouzam@ericsson.com> writes:

Marc> (gdb) interpreter-exec mi "28-break-insert --thread-group ix"
Marc> 28^error,msg="Invalid value for the '--thread' option"
Marc> The error msg says "thread" instead of "thread-group".

> Thanks for noticing this :)

Marc>         error (_("Invalid value for the '%s' option"),
Marc> -              start[2] == 't' ? "--thread" : "--frame");
Marc> +              start[2] == 'f' ? "--frame" :
Marc> +                start[8] == '-' ? "--thread-group" : "--thread");

> I think it would be better to do something using %*s.
> This would mean computing a little extra state in the "if" bodies, but
> that doesn't seem like a big deal.
> I prefer this because it is less obscure and perhaps more future-proof.

I have to agree with you there.  How about this?

Marc

2010-12-07  Marc Khouzam  <marc.khouzam@ericsson.com>

	* mi/mi-parse.c (mi_parse): Wrong error message.

### Eclipse Workspace Patch 1.0
#P src
Index: gdb/mi/mi-parse.c
===================================================================
RCS file: /cvs/src/src/gdb/mi/mi-parse.c,v
retrieving revision 1.21.2.1
diff -u -r1.21.2.1 mi-parse.c
--- gdb/mi/mi-parse.c   6 Dec 2010 14:23:40 -0000       1.21.2.1
+++ gdb/mi/mi-parse.c   8 Dec 2010 16:50:21 -0000
@@ -292,7 +292,7 @@
      to CLI.  */
   for (;;)
     {
-      char *start = chp;
+      char *option;
       size_t as = sizeof ("--all ") - 1;
       size_t tgs = sizeof ("--thread-group ") - 1;
       size_t ts = sizeof ("--thread ") - 1;
@@ -311,6 +311,7 @@
         }
       if (strncmp (chp, "--thread-group ", tgs) == 0)
        {
+         option = "--thread-group";
          if (parse->thread_group != -1)
            error (_("Duplicate '--thread-group' option"));
          chp += tgs;
@@ -321,6 +322,7 @@
        }
       else if (strncmp (chp, "--thread ", ts) == 0)
        {
+         option = "--thread";
          if (parse->thread != -1)
            error (_("Duplicate '--thread' option"));
          chp += ts;
@@ -328,6 +330,7 @@
        }
       else if (strncmp (chp, "--frame ", fs) == 0)
        {
+         option = "--frame";
          if (parse->frame != -1)
            error (_("Duplicate '--frame' option"));
          chp += fs;
@@ -337,8 +340,7 @@
        break;
 
       if (*chp != '\0' && !isspace (*chp))
-       error (_("Invalid value for the '%s' option"),
-              start[2] == 't' ? "--thread" : "--frame");
+       error (_("Invalid value for the '%s' option"), option);
       while (isspace (*chp))
        chp++;
     }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]