Switch the license of all .c files to GPLv3.
[deliverable/binutils-gdb.git] / gdb / inflow.c
index 9c9a59351acb364be993ba8a3a053af73927f23d..86eae0ec7e89be7835a872665d07a96cfc7bbe99 100644 (file)
@@ -1,13 +1,13 @@
 /* Low level interface to ptrace, for GDB when running under Unix.
-   Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995,
-   1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+   Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995,
+   1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
    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,
@@ -16,9 +16,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 "frame.h"
@@ -32,9 +30,7 @@
 #include "gdb_string.h"
 #include <signal.h>
 #include <fcntl.h>
-#ifdef HAVE_SYS_SELECT_H
-#include <sys/select.h>
-#endif
+#include "gdb_select.h"
 
 #include "inflow.h"
 
 #include <sys/ioctl.h>
 #endif
 
+#ifndef O_NOCTTY
+#define O_NOCTTY 0
+#endif
+
 #if defined (SIGIO) && defined (FASYNC) && defined (FD_SET) && defined (F_SETOWN)
 static void handle_sigio (int);
 #endif
@@ -90,7 +90,7 @@ static void (*sigquit_ours) ();
 /* The name of the tty (from the `tty' command) that we gave to the inferior
    when it was last started.  */
 
-static char *inferior_thisrun_terminal;
+static const char *inferior_thisrun_terminal;
 
 /* Nonzero if our terminal settings are in effect.  Zero if the
    inferior's settings are in effect.  Ignored if !gdb_has_a_terminal
@@ -125,7 +125,6 @@ gdb_has_a_terminal (void)
 #endif
 
       gdb_has_a_terminal_flag = no;
-      stdin_serial = serial_fdopen (0);
       if (stdin_serial != NULL)
        {
          our_ttystate = serial_get_tty_state (stdin_serial);
@@ -425,11 +424,11 @@ child_terminal_info (char *args, int from_tty)
 {
   if (!gdb_has_a_terminal ())
     {
-      printf_filtered ("This GDB does not control a terminal.\n");
+      printf_filtered (_("This GDB does not control a terminal.\n"));
       return;
     }
 
-  printf_filtered ("Inferior's terminal status (currently saved by GDB):\n");
+  printf_filtered (_("Inferior's terminal status (currently saved by GDB):\n"));
 
   /* First the fcntl flags.  */
   {
@@ -505,7 +504,7 @@ child_terminal_info (char *args, int from_tty)
    the terminal specified in the NEW_TTY_PREFORK call.  */
 
 void
-new_tty_prefork (char *ttyname)
+new_tty_prefork (const char *ttyname)
 {
   /* Save the name for later, for determining whether we and the child
      are sharing a tty.  */
@@ -537,12 +536,7 @@ new_tty (void)
 #endif
 
   /* Now open the specified new terminal.  */
-
-#ifdef USE_O_NOCTTY
   tty = open (inferior_thisrun_terminal, O_RDWR | O_NOCTTY);
-#else
-  tty = open (inferior_thisrun_terminal, O_RDWR);
-#endif
   if (tty == -1)
     {
       print_sys_errmsg (inferior_thisrun_terminal, errno);
@@ -580,9 +574,9 @@ kill_command (char *arg, int from_tty)
      some targets don't have processes! */
 
   if (ptid_equal (inferior_ptid, null_ptid))
-    error ("The program is not being run.");
+    error (_("The program is not being run."));
   if (!query ("Kill the program being debugged? "))
-    error ("Not confirmed.");
+    error (_("Not confirmed."));
   target_kill ();
 
   init_thread_list ();         /* Destroy thread info */
@@ -591,11 +585,8 @@ kill_command (char *arg, int from_tty)
      print the state we are left in.  */
   if (target_has_stack)
     {
-      printf_filtered ("In %s,\n", target_longname);
-      if (deprecated_selected_frame == NULL)
-       fputs_filtered ("No selected stack frame.\n", gdb_stdout);
-      else
-       print_stack_frame (get_selected_frame (), 1, SRC_AND_LOC);
+      printf_filtered (_("In %s,\n"), target_longname);
+      print_stack_frame (get_selected_frame (NULL), 1, SRC_AND_LOC);
     }
   bfd_cache_close_all ();
 }
@@ -644,7 +635,7 @@ handle_sigio (int signo)
 
   FD_ZERO (&readfds);
   FD_SET (target_activity_fd, &readfds);
-  numfds = select (target_activity_fd + 1, &readfds, NULL, NULL, NULL);
+  numfds = gdb_select (target_activity_fd + 1, &readfds, NULL, NULL, NULL);
   if (numfds >= 0 && FD_ISSET (target_activity_fd, &readfds))
     {
 #ifndef _WIN32
@@ -682,14 +673,14 @@ void
 set_sigio_trap (void)
 {
   if (target_activity_function)
-    internal_error (__FILE__, __LINE__, "failed internal consistency check");
+    internal_error (__FILE__, __LINE__, _("failed internal consistency check"));
 }
 
 void
 clear_sigio_trap (void)
 {
   if (target_activity_function)
-    internal_error (__FILE__, __LINE__, "failed internal consistency check");
+    internal_error (__FILE__, __LINE__, _("failed internal consistency check"));
 }
 #endif /* No SIGIO.  */
 \f
@@ -731,14 +722,26 @@ gdb_setpgid (void)
   return retval;
 }
 
+/* Get all the current tty settings (including whether we have a
+   tty at all!).  We can't do this in _initialize_inflow because
+   serial_fdopen() won't work until the serial_ops_list is
+   initialized, but we don't want to do it lazily either, so
+   that we can guarantee stdin_serial is opened if there is
+   a terminal.  */
+void
+initialize_stdin_serial (void)
+{
+  stdin_serial = serial_fdopen (0);
+}
+
 void
 _initialize_inflow (void)
 {
   add_info ("terminal", term_info,
-           "Print inferior's saved terminal status.");
+           _("Print inferior's saved terminal status."));
 
   add_com ("kill", class_run, kill_command,
-          "Kill execution of program being debugged.");
+          _("Kill execution of program being debugged."));
 
   inferior_ptid = null_ptid;
 
This page took 0.026647 seconds and 4 git commands to generate.