summaryrefslogtreecommitdiffstats
path: root/contrib/gdb/gdb/inflow.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gdb/gdb/inflow.c')
-rw-r--r--contrib/gdb/gdb/inflow.c347
1 files changed, 183 insertions, 164 deletions
diff --git a/contrib/gdb/gdb/inflow.c b/contrib/gdb/gdb/inflow.c
index 9033675..66671f7 100644
--- a/contrib/gdb/gdb/inflow.c
+++ b/contrib/gdb/gdb/inflow.c
@@ -1,27 +1,28 @@
/* Low level interface to ptrace, for GDB when running under Unix.
- Copyright 1986-87, 1989, 1991-92, 1995, 1998 Free Software Foundation, Inc.
+ Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995,
+ 1996, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-This file is part of GDB.
+ 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
-(at your option) any later version.
+ 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
+ (at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ 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. */
+ 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. */
#include "defs.h"
#include "frame.h"
#include "inferior.h"
#include "command.h"
-#include "signals.h"
#include "serial.h"
#include "terminal.h"
#include "target.h"
@@ -30,8 +31,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "gdb_string.h"
#include <signal.h>
#include <fcntl.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
+#ifdef HAVE_SYS_SELECT_H
+#include <sys/select.h>
#endif
#ifdef HAVE_TERMIOS
@@ -51,23 +52,25 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#endif
#endif /* sgtty */
+#ifdef HAVE_SYS_IOCTL_H
+#include <sys/ioctl.h>
+#endif
+
#if defined (SIGIO) && defined (FASYNC) && defined (FD_SET) && defined (F_SETOWN)
-static void
-handle_sigio PARAMS ((int));
+static void handle_sigio (int);
#endif
-static void
-pass_signal PARAMS ((int));
+extern void _initialize_inflow (void);
-static void
-kill_command PARAMS ((char *, int));
+static void pass_signal (int);
-static void
-terminal_ours_1 PARAMS ((int));
+static void kill_command (char *, int);
+
+static void terminal_ours_1 (int);
/* Record terminal status separately for debugger and inferior. */
-static serial_t stdin_serial;
+static struct serial *stdin_serial;
/* TTY state for the inferior. We save it whenever the inferior stops, and
restore it when it resumes. */
@@ -109,11 +112,15 @@ static char *inferior_thisrun_terminal;
int terminal_is_ours;
-enum {yes, no, have_not_checked} gdb_has_a_terminal_flag = have_not_checked;
+enum
+ {
+ yes, no, have_not_checked
+ }
+gdb_has_a_terminal_flag = have_not_checked;
/* Does GDB have a terminal (on stdin)? */
int
-gdb_has_a_terminal ()
+gdb_has_a_terminal (void)
{
switch (gdb_has_a_terminal_flag)
{
@@ -122,19 +129,20 @@ gdb_has_a_terminal ()
case no:
return 0;
case have_not_checked:
- /* Get all the current tty settings (including whether we have a tty at
- all!). Can't do this in _initialize_inflow because SERIAL_FDOPEN
- won't work until the serial_ops_list is initialized. */
+ /* Get all the current tty settings (including whether we have a
+ tty at all!). Can't do this in _initialize_inflow because
+ serial_fdopen() won't work until the serial_ops_list is
+ initialized. */
#ifdef F_GETFL
tflags_ours = fcntl (0, F_GETFL, 0);
#endif
gdb_has_a_terminal_flag = no;
- stdin_serial = SERIAL_FDOPEN (0);
+ stdin_serial = serial_fdopen (0);
if (stdin_serial != NULL)
{
- our_ttystate = SERIAL_GET_TTY_STATE (stdin_serial);
+ our_ttystate = serial_get_tty_state (stdin_serial);
if (our_ttystate != NULL)
{
@@ -165,45 +173,44 @@ gdb_has_a_terminal ()
fprintf_unfiltered(gdb_stderr, "[%s failed in terminal_inferior: %s]\n", \
what, strerror (errno))
-static void terminal_ours_1 PARAMS ((int));
+static void terminal_ours_1 (int);
/* Initialize the terminal settings we record for the inferior,
before we actually run the inferior. */
void
-terminal_init_inferior_with_pgrp (pgrp)
- int pgrp;
+terminal_init_inferior_with_pgrp (int pgrp)
{
if (gdb_has_a_terminal ())
{
- /* We could just as well copy our_ttystate (if we felt like adding
- a new function SERIAL_COPY_TTY_STATE). */
+ /* We could just as well copy our_ttystate (if we felt like
+ adding a new function serial_copy_tty_state()). */
if (inferior_ttystate)
- free (inferior_ttystate);
- inferior_ttystate = SERIAL_GET_TTY_STATE (stdin_serial);
+ xfree (inferior_ttystate);
+ inferior_ttystate = serial_get_tty_state (stdin_serial);
#ifdef PROCESS_GROUP_TYPE
inferior_process_group = pgrp;
#endif
/* Make sure that next time we call terminal_inferior (which will be
- before the program runs, as it needs to be), we install the new
- process group. */
+ before the program runs, as it needs to be), we install the new
+ process group. */
terminal_is_ours = 1;
}
}
void
-terminal_init_inferior ()
+terminal_init_inferior (void)
{
#ifdef PROCESS_GROUP_TYPE
/* This is for Lynx, and should be cleaned up by having Lynx be a separate
debugging target with a version of target_terminal_init_inferior which
passes in the process group to a generic routine which does all the work
(and the non-threaded child_terminal_init_inferior can just pass in
- inferior_pid to the same routine). */
+ inferior_ptid to the same routine). */
/* We assume INFERIOR_PID is also the child's process group. */
- terminal_init_inferior_with_pgrp (PIDGET (inferior_pid));
+ terminal_init_inferior_with_pgrp (PIDGET (inferior_ptid));
#endif /* PROCESS_GROUP_TYPE */
}
@@ -211,7 +218,7 @@ terminal_init_inferior ()
This is preparation for starting or resuming the inferior. */
void
-terminal_inferior ()
+terminal_inferior (void)
{
if (gdb_has_a_terminal () && terminal_is_ours
&& inferior_thisrun_terminal == 0)
@@ -220,38 +227,38 @@ terminal_inferior ()
#ifdef F_GETFL
/* Is there a reason this is being done twice? It happens both
- places we use F_SETFL, so I'm inclined to think perhaps there
- is some reason, however perverse. Perhaps not though... */
+ places we use F_SETFL, so I'm inclined to think perhaps there
+ is some reason, however perverse. Perhaps not though... */
result = fcntl (0, F_SETFL, tflags_inferior);
result = fcntl (0, F_SETFL, tflags_inferior);
OOPSY ("fcntl F_SETFL");
#endif
/* Because we were careful to not change in or out of raw mode in
- terminal_ours, we will not change in our out of raw mode with
- this call, so we don't flush any input. */
- result = SERIAL_SET_TTY_STATE (stdin_serial, inferior_ttystate);
+ terminal_ours, we will not change in our out of raw mode with
+ this call, so we don't flush any input. */
+ result = serial_set_tty_state (stdin_serial, inferior_ttystate);
OOPSY ("setting tty state");
if (!job_control)
{
- sigint_ours = (void (*) ()) signal (SIGINT, SIG_IGN);
+ sigint_ours = (void (*)()) signal (SIGINT, SIG_IGN);
#ifdef SIGQUIT
- sigquit_ours = (void (*) ()) signal (SIGQUIT, SIG_IGN);
+ sigquit_ours = (void (*)()) signal (SIGQUIT, SIG_IGN);
#endif
}
/* If attach_flag is set, we don't know whether we are sharing a
- terminal with the inferior or not. (attaching a process
- without a terminal is one case where we do not; attaching a
- process which we ran from the same shell as GDB via `&' is
- one case where we do, I think (but perhaps this is not
- `sharing' in the sense that we need to save and restore tty
- state)). I don't know if there is any way to tell whether we
- are sharing a terminal. So what we do is to go through all
- the saving and restoring of the tty state, but ignore errors
- setting the process group, which will happen if we are not
- sharing a terminal). */
+ terminal with the inferior or not. (attaching a process
+ without a terminal is one case where we do not; attaching a
+ process which we ran from the same shell as GDB via `&' is
+ one case where we do, I think (but perhaps this is not
+ `sharing' in the sense that we need to save and restore tty
+ state)). I don't know if there is any way to tell whether we
+ are sharing a terminal. So what we do is to go through all
+ the saving and restoring of the tty state, but ignore errors
+ setting the process group, which will happen if we are not
+ sharing a terminal). */
if (job_control)
{
@@ -281,7 +288,7 @@ terminal_inferior ()
should be called to get back to a normal state of affairs. */
void
-terminal_ours_for_output ()
+terminal_ours_for_output (void)
{
terminal_ours_1 (1);
}
@@ -291,7 +298,7 @@ terminal_ours_for_output ()
so they can be restored properly later. */
void
-terminal_ours ()
+terminal_ours (void)
{
terminal_ours_1 (0);
}
@@ -301,8 +308,7 @@ terminal_ours ()
flags. */
static void
-terminal_ours_1 (output_only)
- int output_only;
+terminal_ours_1 (int output_only)
{
/* Checking inferior_thisrun_terminal is necessary so that
if GDB is running in the background, it won't block trying
@@ -313,21 +319,23 @@ terminal_ours_1 (output_only)
if (!terminal_is_ours)
{
+#ifdef SIGTTOU
/* Ignore this signal since it will happen when we try to set the
- pgrp. */
- void (*osigttou) ();
+ pgrp. */
+ void (*osigttou) () = NULL;
+#endif
int result;
terminal_is_ours = 1;
#ifdef SIGTTOU
if (job_control)
- osigttou = (void (*) ()) signal (SIGTTOU, SIG_IGN);
+ osigttou = (void (*)()) signal (SIGTTOU, SIG_IGN);
#endif
if (inferior_ttystate)
- free (inferior_ttystate);
- inferior_ttystate = SERIAL_GET_TTY_STATE (stdin_serial);
+ xfree (inferior_ttystate);
+ inferior_ttystate = serial_get_tty_state (stdin_serial);
#ifdef HAVE_TERMIOS
inferior_process_group = tcgetpgrp (0);
#endif
@@ -339,20 +347,20 @@ terminal_ours_1 (output_only)
#endif
/* Here we used to set ICANON in our ttystate, but I believe this
- was an artifact from before when we used readline. Readline sets
- the tty state when it needs to.
- FIXME-maybe: However, query() expects non-raw mode and doesn't
- use readline. Maybe query should use readline (on the other hand,
- this only matters for HAVE_SGTTY, not termio or termios, I think). */
+ was an artifact from before when we used readline. Readline sets
+ the tty state when it needs to.
+ FIXME-maybe: However, query() expects non-raw mode and doesn't
+ use readline. Maybe query should use readline (on the other hand,
+ this only matters for HAVE_SGTTY, not termio or termios, I think). */
/* Set tty state to our_ttystate. We don't change in our out of raw
- mode, to avoid flushing input. We need to do the same thing
- regardless of output_only, because we don't have separate
- terminal_is_ours and terminal_is_ours_for_output flags. It's OK,
- though, since readline will deal with raw mode when/if it needs to.
- */
+ mode, to avoid flushing input. We need to do the same thing
+ regardless of output_only, because we don't have separate
+ terminal_is_ours and terminal_is_ours_for_output flags. It's OK,
+ though, since readline will deal with raw mode when/if it needs to.
+ */
- SERIAL_NOFLUSH_SET_TTY_STATE (stdin_serial, our_ttystate,
+ serial_noflush_set_tty_state (stdin_serial, our_ttystate,
inferior_ttystate);
if (job_control)
@@ -366,7 +374,7 @@ terminal_ours_1 (output_only)
such situations as well. */
if (result == -1)
fprintf_unfiltered (gdb_stderr, "[tcsetpgrp failed in terminal_ours: %s]\n",
- strerror (errno));
+ strerror (errno));
#endif
#endif /* termios */
@@ -392,30 +400,26 @@ terminal_ours_1 (output_only)
tflags_inferior = fcntl (0, F_GETFL, 0);
/* Is there a reason this is being done twice? It happens both
- places we use F_SETFL, so I'm inclined to think perhaps there
- is some reason, however perverse. Perhaps not though... */
+ places we use F_SETFL, so I'm inclined to think perhaps there
+ is some reason, however perverse. Perhaps not though... */
result = fcntl (0, F_SETFL, tflags_ours);
result = fcntl (0, F_SETFL, tflags_ours);
#endif
- result = result; /* lint */
+ result = result; /* lint */
}
}
/* ARGSUSED */
void
-term_info (arg, from_tty)
- char *arg;
- int from_tty;
+term_info (char *arg, int from_tty)
{
target_terminal_info (arg, from_tty);
}
/* ARGSUSED */
void
-child_terminal_info (args, from_tty)
- char *args;
- int from_tty;
+child_terminal_info (char *args, int from_tty)
{
if (!gdb_has_a_terminal ())
{
@@ -428,7 +432,7 @@ child_terminal_info (args, from_tty)
/* First the fcntl flags. */
{
int flags;
-
+
flags = tflags_inferior;
printf_filtered ("File descriptor flags = ");
@@ -439,18 +443,24 @@ child_terminal_info (args, from_tty)
/* (O_ACCMODE) parens are to avoid Ultrix header file bug */
switch (flags & (O_ACCMODE))
{
- case O_RDONLY: printf_filtered ("O_RDONLY"); break;
- case O_WRONLY: printf_filtered ("O_WRONLY"); break;
- case O_RDWR: printf_filtered ("O_RDWR"); break;
+ case O_RDONLY:
+ printf_filtered ("O_RDONLY");
+ break;
+ case O_WRONLY:
+ printf_filtered ("O_WRONLY");
+ break;
+ case O_RDWR:
+ printf_filtered ("O_RDWR");
+ break;
}
flags &= ~(O_ACCMODE);
#ifdef O_NONBLOCK
- if (flags & O_NONBLOCK)
+ if (flags & O_NONBLOCK)
printf_filtered (" | O_NONBLOCK");
flags &= ~O_NONBLOCK;
#endif
-
+
#if defined (O_NDELAY)
/* If O_NDELAY and O_NONBLOCK are defined to the same thing, we will
print it as O_NONBLOCK, which is good cause that is what POSIX
@@ -476,10 +486,11 @@ child_terminal_info (args, from_tty)
}
#ifdef PROCESS_GROUP_TYPE
- printf_filtered ("Process group = %d\n", inferior_process_group);
+ printf_filtered ("Process group = %d\n",
+ (int) inferior_process_group);
#endif
- SERIAL_PRINT_TTY_STATE (stdin_serial, inferior_ttystate);
+ serial_print_tty_state (stdin_serial, inferior_ttystate, gdb_stdout);
}
/* NEW_TTY_PREFORK is called before forking a new child process,
@@ -492,8 +503,7 @@ child_terminal_info (args, from_tty)
the terminal specified in the NEW_TTY_PREFORK call. */
void
-new_tty_prefork (ttyname)
- char *ttyname;
+new_tty_prefork (char *ttyname)
{
/* Save the name for later, for determining whether we and the child
are sharing a tty. */
@@ -501,7 +511,7 @@ new_tty_prefork (ttyname)
}
void
-new_tty ()
+new_tty (void)
{
register int tty;
@@ -512,72 +522,80 @@ new_tty ()
/* Disconnect the child process from our controlling terminal. On some
systems (SVR4 for example), this may cause a SIGTTOU, so temporarily
ignore SIGTTOU. */
- tty = open("/dev/tty", O_RDWR);
+ tty = open ("/dev/tty", O_RDWR);
if (tty > 0)
{
void (*osigttou) ();
- osigttou = (void (*)()) signal(SIGTTOU, SIG_IGN);
- ioctl(tty, TIOCNOTTY, 0);
- close(tty);
- signal(SIGTTOU, osigttou);
+ osigttou = (void (*)()) signal (SIGTTOU, SIG_IGN);
+ ioctl (tty, TIOCNOTTY, 0);
+ close (tty);
+ signal (SIGTTOU, osigttou);
}
#endif
/* Now open the specified new terminal. */
#ifdef USE_O_NOCTTY
- tty = open(inferior_thisrun_terminal, O_RDWR | O_NOCTTY);
+ tty = open (inferior_thisrun_terminal, O_RDWR | O_NOCTTY);
#else
- tty = open(inferior_thisrun_terminal, O_RDWR);
+ tty = open (inferior_thisrun_terminal, O_RDWR);
#endif
if (tty == -1)
{
print_sys_errmsg (inferior_thisrun_terminal, errno);
- _exit(1);
+ _exit (1);
}
/* Avoid use of dup2; doesn't exist on all systems. */
if (tty != 0)
- { close (0); dup (tty); }
+ {
+ close (0);
+ dup (tty);
+ }
if (tty != 1)
- { close (1); dup (tty); }
+ {
+ close (1);
+ dup (tty);
+ }
if (tty != 2)
- { close (2); dup (tty); }
+ {
+ close (2);
+ dup (tty);
+ }
if (tty > 2)
- close(tty);
-#endif /* !go32 && !win32*/
+ close (tty);
+#endif /* !go32 && !win32 */
}
/* Kill the inferior process. Make us have no inferior. */
/* ARGSUSED */
static void
-kill_command (arg, from_tty)
- char *arg;
- int from_tty;
+kill_command (char *arg, int from_tty)
{
- /* FIXME: This should not really be inferior_pid (or target_has_execution).
+ /* FIXME: This should not really be inferior_ptid (or target_has_execution).
It should be a distinct flag that indicates that a target is active, cuz
some targets don't have processes! */
- if (inferior_pid == 0)
+ if (ptid_equal (inferior_ptid, null_ptid))
error ("The program is not being run.");
if (!query ("Kill the program being debugged? "))
error ("Not confirmed.");
target_kill ();
- init_thread_list(); /* Destroy thread info */
+ init_thread_list (); /* Destroy thread info */
/* Killing off the inferior can leave us with a core file. If so,
print the state we are left in. */
- if (target_has_stack) {
- printf_filtered ("In %s,\n", target_longname);
- if (selected_frame == NULL)
- fputs_filtered ("No selected stack frame.\n", gdb_stdout);
- else
- print_stack_frame (selected_frame, selected_frame_level, 1);
- }
+ if (target_has_stack)
+ {
+ printf_filtered ("In %s,\n", target_longname);
+ if (selected_frame == NULL)
+ fputs_filtered ("No selected stack frame.\n", gdb_stdout);
+ else
+ print_stack_frame (selected_frame, selected_frame_level, 1);
+ }
}
/* Call set_sigint_trap when you need to pass a signal on to an attached
@@ -585,27 +603,26 @@ kill_command (arg, from_tty)
/* ARGSUSED */
static void
-pass_signal (signo)
- int signo;
+pass_signal (int signo)
{
#ifndef _WIN32
- kill (PIDGET (inferior_pid), SIGINT);
+ kill (PIDGET (inferior_ptid), SIGINT);
#endif
}
-static void (*osig)();
+static void (*osig) ();
void
-set_sigint_trap()
+set_sigint_trap (void)
{
if (attach_flag || inferior_thisrun_terminal)
{
- osig = (void (*) ()) signal (SIGINT, pass_signal);
+ osig = (void (*)()) signal (SIGINT, pass_signal);
}
}
void
-clear_sigint_trap()
+clear_sigint_trap (void)
{
if (attach_flag || inferior_thisrun_terminal)
{
@@ -617,8 +634,7 @@ clear_sigint_trap()
static void (*old_sigio) ();
static void
-handle_sigio (signo)
- int signo;
+handle_sigio (int signo)
{
int numfds;
fd_set readfds;
@@ -632,7 +648,7 @@ handle_sigio (signo)
{
#ifndef _WIN32
if ((*target_activity_function) ())
- kill (inferior_pid, SIGINT);
+ kill (PIDGET (inferior_ptid), SIGINT);
#endif
}
}
@@ -640,19 +656,19 @@ handle_sigio (signo)
static int old_fcntl_flags;
void
-set_sigio_trap ()
+set_sigio_trap (void)
{
if (target_activity_function)
{
- old_sigio = (void (*) ()) signal (SIGIO, handle_sigio);
- fcntl (target_activity_fd, F_SETOWN, getpid());
+ old_sigio = (void (*)()) signal (SIGIO, handle_sigio);
+ fcntl (target_activity_fd, F_SETOWN, getpid ());
old_fcntl_flags = fcntl (target_activity_fd, F_GETFL, 0);
fcntl (target_activity_fd, F_SETFL, old_fcntl_flags | FASYNC);
}
}
void
-clear_sigio_trap ()
+clear_sigio_trap (void)
{
if (target_activity_function)
{
@@ -662,17 +678,17 @@ clear_sigio_trap ()
}
#else /* No SIGIO. */
void
-set_sigio_trap ()
+set_sigio_trap (void)
{
if (target_activity_function)
- abort ();
+ internal_error (__FILE__, __LINE__, "failed internal consistency check");
}
void
-clear_sigio_trap ()
+clear_sigio_trap (void)
{
if (target_activity_function)
- abort ();
+ internal_error (__FILE__, __LINE__, "failed internal consistency check");
}
#endif /* No SIGIO. */
@@ -687,40 +703,43 @@ clear_sigio_trap ()
calls setpgrp and a setpgrp which does nothing (any system with job control
will have one or the other). */
int
-gdb_setpgid ()
+gdb_setpgid (void)
{
int retval = 0;
if (job_control)
{
-#if defined (NEED_POSIX_SETPGID) || (defined (HAVE_TERMIOS) && defined (HAVE_SETPGID))
- /* setpgid (0, 0) is supposed to work and mean the same thing as
- this, but on Ultrix 4.2A it fails with EPERM (and
- setpgid (getpid (), getpid ()) succeeds). */
+#if defined (HAVE_TERMIOS) || defined (TIOCGPGRP)
+#ifdef HAVE_SETPGID
+ /* The call setpgid (0, 0) is supposed to work and mean the same
+ thing as this, but on Ultrix 4.2A it fails with EPERM (and
+ setpgid (getpid (), getpid ()) succeeds). */
retval = setpgid (getpid (), getpid ());
#else
-#if defined (TIOCGPGRP)
-#if defined(USG) && !defined(SETPGRP_ARGS)
+#ifdef HAVE_SETPGRP
+#ifdef SETPGRP_VOID
retval = setpgrp ();
#else
retval = setpgrp (getpid (), getpid ());
-#endif /* USG */
-#endif /* TIOCGPGRP. */
-#endif /* NEED_POSIX_SETPGID */
+#endif
+#endif /* HAVE_SETPGRP */
+#endif /* HAVE_SETPGID */
+#endif /* defined (HAVE_TERMIOS) || defined (TIOCGPGRP) */
}
+
return retval;
}
void
-_initialize_inflow ()
+_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.");
- inferior_pid = 0;
+ inferior_ptid = null_ptid;
terminal_is_ours = 1;
@@ -736,10 +755,10 @@ _initialize_inflow ()
#ifdef _SC_JOB_CONTROL
job_control = sysconf (_SC_JOB_CONTROL);
#else
- job_control = 0; /* have to assume the worst */
-#endif /* _SC_JOB_CONTROL */
-#endif /* _POSIX_JOB_CONTROL */
-#endif /* HAVE_TERMIOS */
+ job_control = 0; /* have to assume the worst */
+#endif /* _SC_JOB_CONTROL */
+#endif /* _POSIX_JOB_CONTROL */
+#endif /* HAVE_TERMIOS */
#ifdef HAVE_SGTTY
#ifdef TIOCGPGRP
OpenPOWER on IntegriCloud