[05/18] -Wwrite-strings: Constify warning_pre_print

Message ID 1491326751-16180-6-git-send-email-palves@redhat.com
State New, archived
Headers

Commit Message

Pedro Alves April 4, 2017, 5:25 p.m. UTC
  -Wwrite-strings flags a warning here:

  char *warning_pre_print = "\nwarning: ";

	* main.c (captured_main_1): Use gdb::unique_xmalloc_ptr to manage
	the memory of the temporary warning_pre_print override.
	* utils.c (warning_pre_print): Constify.
	* utils.h (warning_pre_print): Constify.
---
 gdb/main.c  | 6 ++++--
 gdb/utils.c | 2 +-
 gdb/utils.h | 2 +-
 3 files changed, 6 insertions(+), 4 deletions(-)
  

Patch

diff --git a/gdb/main.c b/gdb/main.c
index 30e27c2..df4b111 100644
--- a/gdb/main.c
+++ b/gdb/main.c
@@ -545,7 +545,9 @@  captured_main_1 (struct captured_main_args *context)
 #endif
 
   /* Prefix warning messages with the command name.  */
-  warning_pre_print = xstrprintf ("%s: warning: ", gdb_program_name);
+  gdb::unique_xmalloc_ptr<char> tmp_warn_preprint
+    (xstrprintf ("%s: warning: ", gdb_program_name));
+  warning_pre_print = tmp_warn_preprint.get ();
 
   if (! getcwd (gdb_dirbuf, sizeof (gdb_dirbuf)))
     perror_warning_with_name (_("error finding working directory"));
@@ -972,7 +974,7 @@  captured_main_1 (struct captured_main_args *context)
     }
 
   /* Set off error and warning messages with a blank line.  */
-  xfree (warning_pre_print);
+  tmp_warn_preprint.reset ();
   warning_pre_print = _("\nwarning: ");
 
   /* Read and execute the system-wide gdbinit file, if it exists.
diff --git a/gdb/utils.c b/gdb/utils.c
index 39798cc..6b8f2f7 100644
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -122,7 +122,7 @@  show_sevenbit_strings (struct ui_file *file, int from_tty,
 
 /* String to be printed before warning messages, if any.  */
 
-char *warning_pre_print = "\nwarning: ";
+const char *warning_pre_print = "\nwarning: ";
 
 int pagination_enabled = 1;
 static void
diff --git a/gdb/utils.h b/gdb/utils.h
index fb75f2e..2380bd7 100644
--- a/gdb/utils.h
+++ b/gdb/utils.h
@@ -298,7 +298,7 @@  extern void (*deprecated_error_begin_hook) (void);
 
 /* Message to be printed before the warning message, when a warning occurs.  */
 
-extern char *warning_pre_print;
+extern const char *warning_pre_print;
 
 extern void error_stream (const string_file &) ATTRIBUTE_NORETURN;