This is the mail archive of the 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]

[RFA] Cleanup: Initialize out parameters in find_condition_and_thread


Here's another little cleanup that I ran across. find_condition_and_thread currently initializes the out parameters cond_string and thread, but it does not initialize task or rest.

To make matters worse, most callers already initialize cond_string and thread, but do not initialize task or rest. This cleanup removes initialization from the callers of find_condition_and_thread and adds initializations for all out parameters for the function.


2012-07-17  Keith Seitz  <>

	* breakpoint.c (find_condition_and_thread): Initialize
	(create_breakpiont): find_condition_and_thread will now
	initialize COND_STRING, THREAD, and REST (and TASK).
	(addr_string_to_sals): Likewise.
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index 6b9faf3..665a18d 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -9245,6 +9245,9 @@ find_condition_and_thread (char *tok, CORE_ADDR pc,
   *cond_string = NULL;
   *thread = -1;
+  *task = 0;
+  *rest = NULL;
   while (tok && *tok)
       char *end_tok;
@@ -9495,9 +9498,7 @@ create_breakpoint (struct gdbarch *gdbarch,
                from thread number, so parsing in context of first
                sal is OK.  When setting the breakpoint we'll 
                re-parse it in context of each sal.  */
-            cond_string = NULL;
-            thread = -1;
-	    rest = NULL;
             find_condition_and_thread (arg, lsal->sals.sals[0].pc, &cond_string,
                                        &thread, &task, &rest);
             if (cond_string)
@@ -14009,10 +14010,8 @@ addr_string_to_sals (struct breakpoint *b, char *addr_string, int *found)
 	resolve_sal_pc (&sals.sals[i]);
       if (b->condition_not_parsed && s && s[0])
-	  char *cond_string = 0;
-	  int thread = -1;
-	  int task = 0;
-	  char *extra_string = NULL;
+	  char *cond_string, *extra_string;
+	  int thread, task;
 	  find_condition_and_thread (s, sals.sals[0].pc,
 				     &cond_string, &thread, &task,

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