* archures.c: Update copyright.
[deliverable/binutils-gdb.git] / gdb / charset.c
index 8e724a151209b6e11993f5ab7a20b940222a1750..30a914c80a33f10afb4ad7483544f0456a2b3833 100644 (file)
@@ -1,12 +1,12 @@
 /* Character set conversion support for GDB.
 
-   Copyright 2001, 2003 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2003, 2007, 2008 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
@@ -15,9 +15,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
 #include "charset.h"
@@ -165,7 +163,23 @@ struct translation {
 #endif
 
 static const char *host_charset_name = GDB_DEFAULT_HOST_CHARSET;
+static void
+show_host_charset_name (struct ui_file *file, int from_tty,
+                       struct cmd_list_element *c,
+                       const char *value)
+{
+  fprintf_filtered (file, _("The host character set is \"%s\".\n"), value);
+}
+
 static const char *target_charset_name = GDB_DEFAULT_TARGET_CHARSET;
+static void
+show_target_charset_name (struct ui_file *file, int from_tty,
+                         struct cmd_list_element *c, const char *value)
+{
+  fprintf_filtered (file, _("The target character set is \"%s\".\n"),
+                   value);
+}
+
 
 static const char *host_charset_enum[] = 
 {
@@ -1075,19 +1089,19 @@ set_target_charset_sfunc (char *charset, int from_tty,
 
 /* sfunc for the 'show charset' command.  */
 static void
-show_charset (char *arg, int from_tty)
+show_charset (struct ui_file *file, int from_tty, struct cmd_list_element *c,
+             const char *name)
 {
   if (current_host_charset == current_target_charset)
-    {
-      printf_filtered (_("The current host and target character set is `%s'.\n"),
-                       host_charset ());
-    }
+    fprintf_filtered (file,
+                     _("The current host and target character set is `%s'.\n"),
+                     host_charset ());
   else
     {
-      printf_filtered (_("The current host character set is `%s'.\n"),
-                       host_charset ());
-      printf_filtered (_("The current target character set is `%s'.\n"),
-                       target_charset ());
+      fprintf_filtered (file, _("The current host character set is `%s'.\n"),
+                       host_charset ());
+      fprintf_filtered (file, _("The current target character set is `%s'.\n"),
+                       target_charset ());
     }
 }
 
@@ -1218,60 +1232,43 @@ _initialize_charset (void)
   set_host_charset (host_charset_name);
   set_target_charset (target_charset_name);
 
-  new_cmd = add_set_enum_cmd ("charset",
-                             class_support,
-                             host_charset_enum,
-                             &host_charset_name,
-                              _("Set the host and target character sets.\n\
+  add_setshow_enum_cmd ("charset", class_support,
+                       host_charset_enum, &host_charset_name, _("\
+Set the host and target character sets."), _("\
+Show the host and target character sets."), _("\
 The `host character set' is the one used by the system GDB is running on.\n\
 The `target character set' is the one used by the program being debugged.\n\
 You may only use supersets of ASCII for your host character set; GDB does\n\
 not support any others.\n\
 To see a list of the character sets GDB supports, type `set charset <TAB>'."),
-                             &setlist);
-
-  /* Note that the sfunc below needs to set target_charset_name, because 
-     the 'set charset' command sets two variables.  */
-  set_cmd_sfunc (new_cmd, set_charset_sfunc);
-  /* Don't use set_from_show - need to print some extra info. */
-  add_cmd ("charset", class_support, show_charset,
-          _("Show the host and target character sets.\n\
-The `host character set' is the one used by the system GDB is running on.\n\
-The `target character set' is the one used by the program being debugged.\n\
-You may only use supersets of ASCII for your host character set; GDB does\n\
-not support any others.\n\
-To see a list of the character sets GDB supports, type `set charset <TAB>'."),
-          &showlist);
-
-
-  new_cmd = add_set_enum_cmd ("host-charset",
-                             class_support,
-                             host_charset_enum,
-                             &host_charset_name,
-                             _("Set the host character set.\n\
+                       /* Note that the sfunc below needs to set
+                          target_charset_name, because the 'set
+                          charset' command sets two variables.  */
+                       set_charset_sfunc,
+                       show_charset,
+                       &setlist, &showlist);
+
+  add_setshow_enum_cmd ("host-charset", class_support,
+                       host_charset_enum, &host_charset_name, _("\
+Set the host character set."), _("\
+Show the host character set."), _("\
 The `host character set' is the one used by the system GDB is running on.\n\
 You may only use supersets of ASCII for your host character set; GDB does\n\
 not support any others.\n\
 To see a list of the character sets GDB supports, type `set host-charset <TAB>'."),
-                             &setlist);
-
-  set_cmd_sfunc (new_cmd, set_host_charset_sfunc);
-
-  deprecated_add_show_from_set (new_cmd, &showlist);
-
-
-
-  new_cmd = add_set_enum_cmd ("target-charset",
-                             class_support,
-                             target_charset_enum,
-                             &target_charset_name,
-                             _("Set the target character set.\n\
+                       set_host_charset_sfunc,
+                       show_host_charset_name,
+                       &setlist, &showlist);
+
+  add_setshow_enum_cmd ("target-charset", class_support,
+                       target_charset_enum, &target_charset_name, _("\
+Set the target character set."), _("\
+Show the target character set."), _("\
 The `target character set' is the one used by the program being debugged.\n\
 GDB translates characters and strings between the host and target\n\
 character sets as needed.\n\
 To see a list of the character sets GDB supports, type `set target-charset'<TAB>"),
-                             &setlist);
-
-  set_cmd_sfunc (new_cmd, set_target_charset_sfunc);
-  deprecated_add_show_from_set (new_cmd, &showlist);
+                       set_target_charset_sfunc,
+                       show_target_charset_name,
+                       &setlist, &showlist);
 }
This page took 0.025595 seconds and 4 git commands to generate.