changeset 6042:5bffd741340e

(main, get_time): Don't crash on invalid input.
author Karl Heuer <kwzh@gnu.org>
date Wed, 23 Feb 1994 17:43:05 +0000
parents 649926e9c1a8
children 1b850ad30158
files lib-src/profile.c
diffstat 1 files changed, 8 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/lib-src/profile.c	Wed Feb 23 16:18:10 1994 +0000
+++ b/lib-src/profile.c	Wed Feb 23 17:43:05 1994 +0000
@@ -49,13 +49,13 @@
 
 /* This call returns the time since the last reset_watch call.  The time
    is returned as a string with the format  <seconds>.<micro-seconds> 
-   If reset_watch was not called yet, return NULL.  */
+   If reset_watch was not called yet, exit.  */
 
 char *
 get_time ()
 {
   if (watch_not_started)
-    return ((char *) 0); /* call reset_watch first ! */
+    exit (1);  /* call reset_watch first ! */
   gettimeofday (&TV2, tzp);
   if (TV1.tv_usec > TV2.tv_usec)
     {
@@ -70,10 +70,10 @@
 void
 main ()
 {
-  char inp[10];
-  while (gets (inp))
+  int c;
+  while ((c = getchar ()) != EOF)
     {
-      switch (inp[0])
+      switch (c)
 	{
 	case 'z':
 	  reset_watch ();
@@ -84,6 +84,9 @@
 	case 'q':
 	  exit (0);
 	}
+      /* Anything remaining on the line is ignored.  */
+      while (c != '\n' && c != EOF)
+	c = getchar ();
     }
   exit (1);
 }