diff --git a/io.c b/io.c
index 68956e1..820df15 100644
--- a/io.c
+++ b/io.c
@@ -134,7 +134,7 @@ const char * get_tty_line( int * const sizep )
   {
   static char * buf = 0;
   static int bufsz = 0;
-  int i = 0, oi = -1;
+  int i = 0;

   while( true )
     {
@@ -149,8 +149,9 @@ const char * get_tty_line( int * const sizep )
         }
       else
         {
-        clearerr( stdin ); if( i != oi ) { oi = i; continue; }
-        if( i ) buf[i] = 0; if( sizep ) *sizep = i;
+        clearerr( stdin );
+ /* when possible, it's better to put a null character */
+        if( bufsz > i ) buf[i] = 0; if( sizep ) *sizep = i;
         return buf;
         }
       }
_______________________________________________
bug-ed mailing list
bug-ed@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-ed

Reply via email to