aboutsummaryrefslogtreecommitdiff
path: root/gdb/cli/cli-cmds.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/cli/cli-cmds.c')
-rw-r--r--gdb/cli/cli-cmds.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c
index f6fc5ab..b445b75 100644
--- a/gdb/cli/cli-cmds.c
+++ b/gdb/cli/cli-cmds.c
@@ -2146,12 +2146,10 @@ value_from_setting (const cmd_list_element *cmd, struct gdbarch *gdbarch)
case var_filename:
case var_enum:
if (*(char **) cmd->var)
- return value_cstring (*(char **) cmd->var,
- strlen (*(char **) cmd->var) + 1,
- builtin_type (gdbarch)->builtin_char);
+ return current_language->value_string (gdbarch, *(char **) cmd->var,
+ strlen (*(char **) cmd->var));
else
- return value_cstring ("", 1,
- builtin_type (gdbarch)->builtin_char);
+ return current_language->value_string (gdbarch, "", 0);
default:
gdb_assert_not_reached ("bad var_type");
}
@@ -2199,8 +2197,9 @@ str_value_from_setting (const cmd_list_element *cmd, struct gdbarch *gdbarch)
{
std::string cmd_val = get_setshow_command_value_string (cmd);
- return value_cstring (cmd_val.c_str (), cmd_val.size () + 1,
- builtin_type (gdbarch)->builtin_char);
+ return current_language->value_string (gdbarch,
+ cmd_val.data (),
+ cmd_val.size ());
}
case var_string:
@@ -2213,12 +2212,11 @@ str_value_from_setting (const cmd_list_element *cmd, struct gdbarch *gdbarch)
escaping quotes. So, we directly use the cmd->var string value,
similarly to the value_from_setting code for these cases. */
if (*(char **) cmd->var)
- return value_cstring (*(char **) cmd->var,
- strlen (*(char **) cmd->var) + 1,
- builtin_type (gdbarch)->builtin_char);
+ return current_language->value_string (gdbarch,
+ *(char **) cmd->var,
+ strlen (*(char **) cmd->var));
else
- return value_cstring ("", 1,
- builtin_type (gdbarch)->builtin_char);
+ return current_language->value_string (gdbarch, "", 0);
default:
gdb_assert_not_reached ("bad var_type");