This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
[PATCH] Small fixes for expect to allow compilation with native IRIX6 tools
- From: Thiemo Seufer <ica2_ts at csv dot ica dot uni-stuttgart dot de>
- To: binutils at sources dot redhat dot com, gdb at sources dot redhat dot com
- Date: Tue, 26 Mar 2002 00:26:58 +0100
- Subject: [PATCH] Small fixes for expect to allow compilation with native IRIX6 tools
Hello All,
this patch does some code cleanup and adds some missing ifdef's in
places where the native IRIX6 tools are complaining about.
Thiemo
/expect/ChangeLog
* exp_clib.c: Fix bad comment nesting. Code cleanup.
* exp_command.c: Likewise. Ifdef out code of some old TCL support.
Cast some type conversions explicitly.
diff -BurpN source-orig/expect/exp_clib.c source/expect/exp_clib.c
--- source-orig/expect/exp_clib.c Sat Sep 8 08:26:30 2001
+++ source/expect/exp_clib.c Thu Feb 21 07:03:27 2002
@@ -126,7 +126,7 @@ static struct f {
char *buffer; /* buffer of matchable chars */
char *buffer_end; /* one beyond end of matchable chars */
- /*char *match; /* start of matched string */
+ /*char *match;*/ /* start of matched string */
char *match_end; /* one beyond end of matched string */
int msize; /* size of allocate space */
/* actual size is one larger for null */
@@ -191,7 +191,6 @@ char *argv[]; /* some compiler complains
int cc;
int errorfd; /* place to stash fileno(stderr) in child */
/* while we're setting up new stderr */
- int ttyfd;
int sync_fds[2];
int sync2_fds[2];
char sync_byte;
@@ -344,10 +343,14 @@ when trapping, see below in child half o
/* setpgrp(0,getpid());*/ /* make a new pgrp leader */
#ifdef TIOCNOTTY
- ttyfd = open("/dev/tty", O_RDWR);
- if (ttyfd >= 0) {
- (void) ioctl(ttyfd, TIOCNOTTY, (char *)0);
- (void) close(ttyfd);
+ {
+ int ttyfd;
+
+ ttyfd = open("/dev/tty", O_RDWR);
+ if (ttyfd >= 0) {
+ (void) ioctl(ttyfd, TIOCNOTTY, (char *)0);
+ (void) close(ttyfd);
+ }
}
#endif /* TIOCNOTTY */
@@ -506,7 +509,7 @@ when trapping, see below in child half o
/* wait for master to let us go on */
/* debuglog("child: waiting for go ahead from parent\r\n"); */
-/* close(master); /* force master-side close so we can read */
+/* close(master);*/ /* force master-side close so we can read */
cc = read(sync2_fds[0],&sync_byte,1);
if (cc == -1) {
restore_error_fd
@@ -773,7 +776,7 @@ struct exp_case *ecases;
for (ec=ecases;ec->type != exp_end;ec++) {
if ((ec->type == exp_regexp) && !ec->re) {
TclRegError((char *)0);
- if (!(ec->re = TclRegComp(ec->pattern))) {
+ if (!(ec->re = (Expect_regexp *)TclRegComp(ec->pattern))) {
fprintf(stderr,"regular expression %s is bad: %s",ec->pattern,TclGetRegError());
return_errno(EINVAL);
}
@@ -1156,8 +1159,6 @@ char *program;
int
exp_disconnect()
{
- int ttyfd;
-
#ifndef EALREADY
#define EALREADY 37
#endif
@@ -1189,11 +1190,15 @@ exp_disconnect()
setpgrp(0,getpid()); /* put process in our own pgrp */
/* Pyramid lacks this defn */
#ifdef TIOCNOTTY
- ttyfd = open("/dev/tty", O_RDWR);
- if (ttyfd >= 0) {
- /* zap controlling terminal if we had one */
- (void) ioctl(ttyfd, TIOCNOTTY, (char *)0);
- (void) close(ttyfd);
+ {
+ int ttyfd;
+
+ ttyfd = open("/dev/tty", O_RDWR);
+ if (ttyfd >= 0) {
+ /* zap controlling terminal if we had one */
+ (void) ioctl(ttyfd, TIOCNOTTY, (char *)0);
+ (void) close(ttyfd);
+ }
}
#endif /* TIOCNOTTY */
#endif /* SYSV3 */
diff -BurpN source-orig/expect/exp_command.c source/expect/exp_command.c
--- source-orig/expect/exp_command.c Tue Sep 11 21:24:03 2001
+++ source/expect/exp_command.c Thu Feb 21 06:54:55 2002
@@ -215,8 +215,10 @@ int pid;
}
#endif
+#if 0 /* old Tcl 7.6 code */
/* Tcl needs commands in writable space */
static char close_cmd[] = "close";
+#endif
/* zero out the wait status field */
static void
@@ -627,11 +629,8 @@ char **argv;
int slave;
int pid;
char **a;
- /* tell Saber to ignore non-use of ttyfd */
- /*SUPPRESS 591*/
int errorfd; /* place to stash fileno(stderr) in child */
/* while we're setting up new stderr */
- int ttyfd;
int master;
int write_master; /* write fd of Tcl-opened files */
int ttyinit = TRUE;
@@ -654,8 +653,10 @@ char **argv;
char *argv0 = argv[0];
char *openarg = 0;
int leaveopen = FALSE;
+#if TCL7_4
FILE *readfilePtr;
FILE *writefilePtr;
+#endif
int rc, wc;
char *stty_init;
int slave_write_ioctls = 1;
@@ -917,7 +918,7 @@ when trapping, see below in child half o
#endif /* TCL_MAJOR_VERSION < 8 */
}
- master = ((mode & TCL_READABLE)?rfd:wfd);
+ master = (int)((mode & TCL_READABLE)?rfd:wfd);
/* make a new copy of file descriptor */
if (-1 == (write_master = master = dup(master))) {
@@ -927,7 +928,7 @@ when trapping, see below in child half o
/* if writefilePtr is different, dup that too */
if ((mode & TCL_READABLE) && (mode & TCL_WRITABLE) && (wfd != rfd)) {
- if (-1 == (write_master = dup(wfd))) {
+ if (-1 == (write_master = dup((int)wfd))) {
exp_error(interp,"fdopen: %s",Tcl_PosixError(interp));
return TCL_ERROR;
}
@@ -1229,10 +1230,14 @@ parent_error:
/* Pyramid lacks this defn */
#ifdef TIOCNOTTY
- ttyfd = open("/dev/tty", O_RDWR);
- if (ttyfd >= 0) {
- (void) ioctl(ttyfd, TIOCNOTTY, (char *)0);
- (void) close(ttyfd);
+ {
+ int ttyfd;
+
+ ttyfd = open("/dev/tty", O_RDWR);
+ if (ttyfd >= 0) {
+ (void) ioctl(ttyfd, TIOCNOTTY, (char *)0);
+ (void) close(ttyfd);
+ }
}
#endif /* TIOCNOTTY */
@@ -1390,7 +1395,7 @@ parent_error:
/* wait for master to let us go on */
/* debuglog("child: waiting for go ahead from parent\r\n"); */
-/* close(master); /* force master-side close so we can read */
+/* close(master);*/ /* force master-side close so we can read */
while (((rc = read(sync2_fds[0],&sync_byte,1)) < 0) && (errno == EINTR)) {
/* empty */;
@@ -2230,7 +2235,9 @@ char **argv;
int append = TRUE;
char *filename = 0;
char *type;
+#if TCL7_4
FILE *writefilePtr;
+#endif
int usage_error_occurred = FALSE;
openarg = 0;
@@ -2327,7 +2334,9 @@ char **argv;
goto error;
}
} else if (openarg) {
+#if TCL7_4
int cc;
+#endif
int fd;
Tcl_Channel chan;
int mode;
@@ -3125,10 +3134,6 @@ Tcl_Interp *interp;
int argc;
char **argv;
{
- /* tell Saber to ignore non-use of ttyfd */
- /*SUPPRESS 591*/
- int ttyfd;
-
if (argc > 1) {
exp_error(interp,"usage: disconnect");
return(TCL_ERROR);
@@ -3197,11 +3202,15 @@ char **argv;
/* Pyramid lacks this defn */
#ifdef TIOCNOTTY
- ttyfd = open("/dev/tty", O_RDWR);
- if (ttyfd >= 0) {
- /* zap controlling terminal if we had one */
- (void) ioctl(ttyfd, TIOCNOTTY, (char *)0);
- (void) close(ttyfd);
+ {
+ int ttyfd;
+
+ ttyfd = open("/dev/tty", O_RDWR);
+ if (ttyfd >= 0) {
+ /* zap controlling terminal if we had one */
+ (void) ioctl(ttyfd, TIOCNOTTY, (char *)0);
+ (void) close(ttyfd);
+ }
}
#endif /* TIOCNOTTY */