diff options
author | Tom Tromey <tom@tromey.com> | 2017-08-13 23:47:01 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2017-09-03 13:03:09 -0600 |
commit | 18e9961f02b326923553f34682f4dcca0f25702e (patch) | |
tree | db2c3525e338e8d12be7a24e41a8710f1b7b1a19 /gdb/utils.c | |
parent | 453437863c82afc8ed5bfcb937a2e297957fc212 (diff) | |
download | gdb-18e9961f02b326923553f34682f4dcca0f25702e.zip gdb-18e9961f02b326923553f34682f4dcca0f25702e.tar.gz gdb-18e9961f02b326923553f34682f4dcca0f25702e.tar.bz2 |
Return std::string from perror_string
Change perror_string to return a std::string, removing a cleanup in
the process.
ChangeLog
2017-09-03 Tom Tromey <tom@tromey.com>
* utils.c (perror_string): Return a std::string.
(throw_perror_with_name, perror_warning_with_name): Update.
Diffstat (limited to 'gdb/utils.c')
-rw-r--r-- | gdb/utils.c | 28 |
1 files changed, 7 insertions, 21 deletions
diff --git a/gdb/utils.c b/gdb/utils.c index 3ca29b7..af50cf0 100644 --- a/gdb/utils.c +++ b/gdb/utils.c @@ -751,23 +751,15 @@ add_internal_problem_command (struct internal_problem *problem) } /* Return a newly allocated string, containing the PREFIX followed - by the system error message for errno (separated by a colon). + by the system error message for errno (separated by a colon). */ - The result must be deallocated after use. */ - -static char * +static std::string perror_string (const char *prefix) { char *err; - char *combined; err = safe_strerror (errno); - combined = (char *) xmalloc (strlen (err) + strlen (prefix) + 3); - strcpy (combined, prefix); - strcat (combined, ": "); - strcat (combined, err); - - return combined; + return std::string (prefix) + ": " + err; } /* Print the system error message for errno, and also mention STRING @@ -777,10 +769,7 @@ perror_string (const char *prefix) void throw_perror_with_name (enum errors errcode, const char *string) { - char *combined; - - combined = perror_string (string); - make_cleanup (xfree, combined); + std::string combined = perror_string (string); /* I understand setting these is a matter of taste. Still, some people may clear errno but not know about bfd_error. Doing this here is not @@ -788,7 +777,7 @@ throw_perror_with_name (enum errors errcode, const char *string) bfd_set_error (bfd_error_no_error); errno = 0; - throw_error (errcode, _("%s."), combined); + throw_error (errcode, _("%s."), combined.c_str ()); } /* See throw_perror_with_name, ERRCODE defaults here to GENERIC_ERROR. */ @@ -805,11 +794,8 @@ perror_with_name (const char *string) void perror_warning_with_name (const char *string) { - char *combined; - - combined = perror_string (string); - warning (_("%s"), combined); - xfree (combined); + std::string combined = perror_string (string); + warning (_("%s"), combined.c_str ()); } /* Print the system error message for ERRCODE, and also mention STRING |