gcc/ChangeLog:

2019-03-27  Martin Liska  <mli...@suse.cz>

        * dbgcnt.c (dbg_cnt_process_single_pair): Fix GNU coding style.
        (dbg_cnt_process_opt): Parse first tokens aas
        dbg_cnt_process_single_pair is also using strtok.
---
 gcc/dbgcnt.c | 25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)

diff --git a/gcc/dbgcnt.c b/gcc/dbgcnt.c
index ebaa310821c..e2f65f449e5 100644
--- a/gcc/dbgcnt.c
+++ b/gcc/dbgcnt.c
@@ -151,30 +151,35 @@ dbg_cnt_process_single_pair (const char *arg)
       high = strtol (value2, NULL, 10);
     }
 
-   return dbg_cnt_set_limit_by_name (name, low, high);
+  return dbg_cnt_set_limit_by_name (name, low, high);
 }
 
 void
 dbg_cnt_process_opt (const char *arg)
 {
   char *str = xstrdup (arg);
-  const char *next = strtok (str, ",");
   unsigned int start = 0;
 
-   do {
-     if (!dbg_cnt_process_single_pair (arg))
+  auto_vec<const char *> tokens;
+  for (const char *next = strtok (str, ","); next != NULL;
+       next = strtok (NULL, ","))
+    tokens.safe_push (next);
+
+  unsigned i;
+  for (i = 0; i < tokens.length (); i++)
+    {
+     if (!dbg_cnt_process_single_pair (tokens[i]))
        break;
-     start += strlen (arg) + 1;
-     next = strtok (NULL, ",");
-   } while (next != NULL);
+     start += strlen (tokens[i]) + 1;
+    }
 
-   if (next != NULL)
+   if (i != tokens.length ())
      {
        char *buffer = XALLOCAVEC (char, start + 2);
        sprintf (buffer, "%*c", start + 1, '^');
        error ("cannot find a valid counter:value pair:");
-       error ("%<-fdbg-cnt=%s%>", next);
-       error ("          %s", buffer);
+       error ("%<-fdbg-cnt=%s%>", arg);
+       error ("           %s", buffer);
      }
 }
 

Reply via email to