parsln()                      /* parse LINEUP received                     */
{
     char *inpptr;
     long atol();
 
     npyrs=0;
     inpptr=lupbuf-1;
     while (1) {
          while (*++inpptr == ' ') {
          }
          if (npyrs >= MAXPYR+2) {
               catastro("TOO MANY PLAYERS!");
          }
          if (*inpptr == '*') {
               inpptr+=1;
          }
          names[npyrs++]=inpptr;
          while (*++inpptr != ' ') {
               if (*inpptr == '\0') {
                    if (names[npyrs-1][0] == '#') {
                         lupser=atol(names[--npyrs]+1);
                    }
                    else {
                         lupser=0L;
                    }
                    rseed=atoi(names[--npyrs]);
                    if ((flsser>99999999L)&&(lupser==(flsser-900000000L))){
                         return(1);
                    }
                    else if ((flsser>99999999L)&&(lupser!=(flsser-900000000L))){
                         return(0);
                    }
                    else {
                         return(lupser == flsser && flmcld);
                    }
               }
          }
          *inpptr='\0';
     }
}

