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.
This commit is contained in:
parent
453437863c
commit
18e9961f02
|
@ -1,3 +1,8 @@
|
|||
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.
|
||||
|
||||
2017-09-03 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* demangle.c (demangle_command): Use std::string,
|
||||
|
|
28
gdb/utils.c
28
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
|
||||
|
|
Loading…
Reference in New Issue