]> diplodocus.org Git - nmh/commitdiff
Removed call to fpurge() and its platform-specific emulations
authorDavid Levine <levinedl@acm.org>
Wed, 26 Dec 2012 01:25:43 +0000 (19:25 -0600)
committerDavid Levine <levinedl@acm.org>
Wed, 26 Dec 2012 01:25:43 +0000 (19:25 -0600)
from discard.c.  discard() is called on stdout from mhl(1) and
msh(1) in interrupt handlers, and post(8) but only with -debug.
tcflush() should do the purge when stdout is a terminal.  If
it's a file or pipe, well, maybe some garbage could get flushed
out.  And it's called on the streams that post uses to talk to
its smtp server, so removed those calls because they no longer
do anything.  And removed LINUX_STDIO define from configure.ac.

configure.ac
mts/smtp/smtp.c
sbr/discard.c

index c3ebacf..2315289 100644 (file)
@@ -451,15 +451,6 @@ AC_CHECK_HEADERS([errno.h fcntl.h crypt.h ncurses/termcap.h termcap.h \
                   langinfo.h wchar.h wctype.h iconv.h netdb.h \
                   sys/param.h sys/time.h sys/stream.h])
 
-dnl
-dnl Checks for _IO_write_ptr. A Linuxism used by nmh on linux. We
-dnl really use a whole set of them, but this check should be
-dnl sufficient.
-dnl
-AC_CHECK_HEADER(libio.h, [
-  AC_EGREP_HEADER(_IO_write_ptr, libio.h, [
-    AC_DEFINE(LINUX_STDIO,1,[Use the Linux _IO_*_ptr defines from <libio.h>.]) ]) ])
-
 AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM,1,
   [Define to 1 if `struct winsize' requires <sys/ptem.h>.]),,
 [[#if HAVE_SYS_STREAM_H
index b1d57dd..4b2e30a 100755 (executable)
@@ -799,8 +799,6 @@ sm_end (int type)
                smtalk (SM_QUIT, "QUIT");
            else {
                kill (sm_child, SIGKILL);
-               discard (sm_rfp);
-               discard (sm_wfp);
            }
            if (type == NOTOK) {
                sm_reply.code = sm_note.code;
index a1efa48..83b0bfb 100644 (file)
@@ -20,15 +20,7 @@ discard (FILE *io)
 
     tcflush (fileno(io), TCOFLUSH);
 
-#if defined(_FSTDIO) || defined(__DragonFly__)
-    fpurge (io);
-#else
-# ifdef LINUX_STDIO
-    io->_IO_write_ptr = io->_IO_write_base;
-# else
-    if ((io->_ptr = io->_base))
-       io->_cnt = 0;
-# endif
-#endif
+    /* There used to be an fpurge() here on some platforms, stdio
+       hackery on others.  But it didn't seem necessary. */
 }