Index: m.c
--- m.c.orig
+++ m.c
@@ -21,6 +21,7 @@
 
 
 #include <sys/time.h>
+#include <termcap.h>
 #include "wand_head.h"
 
 #define SCROLLING 0
@@ -81,7 +82,7 @@ void show_credits(opt)
 int maxlines, linecount;
 FILE *fp;
 char ch, buffer[100];
-int inp ,nul;
+fd_set inp;
 struct timeval tv;
 
     sprintf(buffer,"%s/credits",SCREENPATH);
@@ -97,7 +98,6 @@ struct timeval tv;
         maxlines = tgetnum("li") - 3;
     }
     linecount = 0;
-    nul = 0;
     tv.tv_sec = 0;
     tv.tv_usec = 500000L;  /* half second between scrolls */
     while( fgets(buffer,100,fp) ) {
@@ -117,10 +117,11 @@ struct timeval tv;
                         linecount = 0;
                 }
             } else { /* opt == SCROLLING */
-                inp = 1;
+                FD_ZERO(&inp);
+                FD_SET(0, &inp);
                 printf("%s",buffer);
-                select(1,&inp,&nul,&nul,&tv);
-                if(inp) {
+                select(1,&inp,NULL,NULL,&tv);
+                if(FD_ISSET(0, &inp)) {
                     read(0,&ch,1);
                     if(ch == 'q') 
                         break;
@@ -147,23 +148,24 @@ char *get_name(void)
 char *name;
 char *endchar;
 
-    if((name = (char *)getenv("NEWNAME")) == NULL)
-        if((name = (char *)getenv("NAME")) == NULL)
-            if((name = (char *)getenv("FULLNAME")) == NULL)
-                if((name = (char *)getenv("USER")) == NULL)
-                          if((name = (char *)getenv("LOGNAME")) == NULL)
+    if((name = getenv("NEWNAME")) == NULL)
+        if((name = getenv("NAME")) == NULL)
+            if((name = getenv("FULLNAME")) == NULL)
+                if((name = getenv("USER")) == NULL)
+                          if((name = getenv("LOGNAME")) == NULL)
 #define ASKNAME /* Marina */
 #ifdef        ASKNAME        /* M001 */
                     {
-                        name = (char *)malloc(80);
+                        name = malloc(80);
                         if (name == NULL) {
                             printf("malloc error\n"); /* Replace with Err* */
                             exit(1);
                         }
                         printf("Name? "); fflush(stdout);
                         fgets(name,80,stdin); /* get rid of gets Marina*/
-                        endchar=strchr(name,'\0'); 
-                        endchar='\0';
+                        endchar=strchr(name,'\n'); 
+			if (endchar)
+			    *endchar='\0';
                         if (name[0] == '\0')
                             name = "noname";
                     }
@@ -181,9 +183,9 @@ char *get_keys()
 {
     char *keys = NULL;
     if( ! keys ) {
-        if((keys = (char *)getenv("NEWKEYS")) == NULL)
+        if((keys = getenv("NEWKEYS")) == NULL)
             {
-            keys = (char *)malloc(5);
+            keys = malloc(5);
            strcpy(keys,"kjhl");
             }
     }
@@ -200,7 +202,7 @@ extern char *optarg;
 /***************************************
 *  Main Program  -- Comment by Marina  *
 ****************************************/
-main(int argc,char **argv)
+int main(int argc,char **argv)
 {
 char (*frow)[ROWLEN+1] = screen;
 long score = 0;
@@ -214,7 +216,7 @@ char howdead[25],
      *name,
      *keys,
      *dead,ch;
-char c; 
+int c; 
 
 while(( c = getopt(argc,argv,"01k:et:r:fmCcvsi")) != -1 )
 {
