https://core.tcl-lang.org/expect/tktview/0d5b33c00e5b4bbedb835498b0360d7115e832a0 --- expect5.45.4/configure.in.ORIG 2020-12-05 17:26:55.000000000 +0000 +++ expect5.45.4/configure.in 2020-12-05 18:39:00.000000000 +0000 @@ -452,7 +452,11 @@ # because Unixware 2.0 handles it specially and refuses to compile # autoconf's automatic test that is a call with no arguments AC_MSG_CHECKING([for memcpy]) -AC_TRY_LINK(,[ +AC_TRY_LINK([ +#ifdef HAVE_STRING_H +#include +#endif +],[ char *s1, *s2; memcpy(s1,s2,0); ], @@ -469,7 +473,7 @@ AC_MSG_CHECKING([if WNOHANG requires _POSIX_SOURCE]) AC_TRY_RUN([ #include -main() { +int main() { #ifndef WNOHANG return 0; #else @@ -489,7 +493,7 @@ AC_TRY_RUN([ #include #include -main() { +int main() { #ifdef WNOHANG FILE *fp = fopen("wnohang","w"); fprintf(fp,"%d",WNOHANG); @@ -536,6 +540,13 @@ AC_MSG_CHECKING([if signals need to be re-armed]) AC_TRY_RUN([ #include +#ifdef HAVE_UNISTD_H +#include +#endif +#ifndef NO_SYS_WAIT_H +#include +#endif + #define RETSIGTYPE $retsigtype int signal_rearms = 0; @@ -553,7 +564,7 @@ signal_rearms++; } -main() +int main() { signal(SIGINT,parent_sigint_handler); @@ -567,8 +578,9 @@ wait(&status); unlink("core"); - exit(signal_rearms); + return signal_rearms; } + return -1; }], AC_MSG_RESULT(yes) AC_DEFINE(REARM_SIG) @@ -714,10 +726,10 @@ AC_MSG_CHECKING([for struct sgttyb]) AC_TRY_RUN([ #include -main() +int main() { struct sgttyb tmp; - exit(0); + return 0; }], AC_MSG_RESULT(yes) AC_DEFINE(HAVE_SGTTYB) @@ -738,10 +750,10 @@ # pty_termios.c is set up to handle pty_termio. AC_MSG_CHECKING([for struct termio]) AC_TRY_RUN([#include - main() + int main() { struct termio tmp; - exit(0); + return 0; }], AC_DEFINE(HAVE_TERMIO) PTY_TYPE=termios @@ -760,10 +772,10 @@ # include # endif # include - main() + int main() { struct termios tmp; - exit(0); + return 0; }], AC_DEFINE(HAVE_TERMIOS) PTY_TYPE=termios @@ -782,7 +794,7 @@ #include #endif #include -main() { +int main() { #if defined(TCGETS) || defined(TCGETA) return 0; #else @@ -797,21 +809,18 @@ AC_MSG_ERROR([Expect can't be cross compiled]) ) -AC_MSG_CHECKING([if TIOCGWINSZ in termios.h]) +AC_MSG_CHECKING([if termios.h and sys/ioctl.h may both be included]) AC_TRY_RUN([ /* including termios.h on Solaris 5.6 fails unless inttypes.h included */ #ifdef HAVE_INTTYPES_H #include #endif #include -main() { -#ifdef TIOCGWINSZ +#include +int main() { return 0; -#else - return 1; -#endif }], - AC_DEFINE(HAVE_TIOCGWINSZ_IN_TERMIOS_H) + AC_DEFINE(HAVE_TERMIOS_AND_IOCTL_H_TOGETHER) AC_MSG_RESULT(yes) , AC_MSG_RESULT(no) @@ -823,7 +832,7 @@ AC_MSG_CHECKING([for Cray-style ptys]) SETUID=":" AC_TRY_RUN([ -main(){ +int main(){ #ifdef CRAY return 0; #else @@ -878,12 +887,12 @@ AC_TRY_RUN([ extern char *tzname[2]; extern int daylight; -main() +int main() { int *x = &daylight; char **y = tzname; - exit(0); + return 0; }], AC_DEFINE(HAVE_SV_TIMEZONE) AC_MSG_RESULT(yes), --- expect5.45.4/tclconfig/tcl.m4.ORIG 2020-12-05 17:31:41.000000000 +0000 +++ expect5.45.4/tclconfig/tcl.m4 2020-12-05 17:32:39.000000000 +0000 @@ -2400,7 +2400,7 @@ AC_TRY_COMPILE([#include ], [extern long timezone; timezone += 1; - exit (0);], + return 0;], tcl_cv_timezone_long=yes, tcl_cv_timezone_long=no)]) if test $tcl_cv_timezone_long = yes ; then AC_DEFINE(HAVE_TIMEZONE_VAR, 1, [Should we use the global timezone variable?]) @@ -2412,7 +2412,7 @@ AC_TRY_COMPILE([#include ], [extern time_t timezone; timezone += 1; - exit (0);], + return 0;], tcl_cv_timezone_time=yes, tcl_cv_timezone_time=no)]) if test $tcl_cv_timezone_time = yes ; then AC_DEFINE(HAVE_TIMEZONE_VAR, 1, [Should we use the global timezone variable?]) @@ -2452,17 +2452,17 @@ double value; value = strtod(infString, &term); if ((term != infString) && (term[-1] == 0)) { - exit(1); + return 1; } value = strtod(nanString, &term); if ((term != nanString) && (term[-1] == 0)) { - exit(1); + return 1; } value = strtod(spaceString, &term); if (term == (spaceString+1)) { - exit(1); + return 1; } - exit(0); + return 0; }], tcl_cv_strtod_buggy=ok, tcl_cv_strtod_buggy=buggy, tcl_cv_strtod_buggy=buggy)]) if test "$tcl_cv_strtod_buggy" = buggy; then --- expect5.45.4/exp_tty.h.ORIG 2020-12-05 18:25:06.000000000 +0000 +++ expect5.45.4/exp_tty.h 2020-12-05 18:24:14.000000000 +0000 @@ -19,6 +19,7 @@ void exp_tty_echo(int set); void exp_tty_break(Tcl_Interp *interp, int fd); int exp_tty_raw_noecho(Tcl_Interp *interp, exp_tty *tty_old, int *was_raw, int *was_echo); +int exp_tty_cooked_echo(Tcl_Interp *interp, exp_tty *tty_old, int *was_raw, int *was_echo); int exp_israw(void); int exp_isecho(void); --- expect5.45.4/exp_chan.c.ORIG 2020-12-05 18:42:14.000000000 +0000 +++ expect5.45.4/exp_chan.c 2020-12-05 18:42:36.000000000 +0000 @@ -35,6 +35,7 @@ #include "exp_prog.h" #include "exp_command.h" #include "exp_log.h" +#include "exp_event.h" #include "tcldbg.h" /* Dbg_StdinMode */ extern int expSetBlockModeProc _ANSI_ARGS_((int fd, int mode)); --- expect5.45.4/exp_clib.c.ORIG 2020-12-05 18:40:52.000000000 +0000 +++ expect5.45.4/exp_clib.c 2020-12-05 18:41:18.000000000 +0000 @@ -8,6 +8,7 @@ */ #include "expect_cf.h" +#include "exp_command.h" #include #include #ifdef HAVE_INTTYPES_H --- expect5.45.4/exp_win.c.ORIG 2020-12-05 18:27:20.000000000 +0000 +++ expect5.45.4/exp_win.c 2020-12-05 18:33:24.000000000 +0000 @@ -32,17 +32,13 @@ #ifdef HAVE_TERMIOS # include +# ifdef HAVE_TERMIOS_AND_IOCTL_H_TOGETHER +# include +# endif #else # include #endif -/* Sigh. On AIX 2.3, termios.h exists but does not define TIOCGWINSZ */ -/* Instead, it has to come from ioctl.h. However, As I said above, this */ -/* can't be cavalierly included on all machines, even when it exists. */ -#if defined(HAVE_TERMIOS) && !defined(HAVE_TIOCGWINSZ_IN_TERMIOS_H) -# include -#endif - /* SCO defines window size structure in PTEM and TIOCGWINSZ in termio.h */ /* Sigh... */ #if defined(HAVE_SYS_PTEM_H) --- expect5.45.4/pty_termios.c.ORIG 2020-12-05 18:43:05.000000000 +0000 +++ expect5.45.4/pty_termios.c 2020-12-05 18:45:20.000000000 +0000 @@ -77,6 +77,10 @@ #include #endif +#ifdef HAVE_OPENPTY +#include +#endif + #ifdef HAVE_PTYTRAP #include #endif @@ -102,6 +106,7 @@ #include "exp_tty_in.h" #include "exp_rename.h" #include "exp_pty.h" +#include "exp_int.h" void expDiagLog(); void expDiagLogPtr();