case '5':   tirpcflag = 1; break; case '$': building_libc = 1; break;
case '5':   tirpcflag = 1; break;
parseargs(int argc, const char *argv[], struct commandline *cmd){	int i;	int j;	int c;	char flag[(1 << 8 * sizeof(char))];	int nflags;	cmdname = argv[0];	cmd->infile = cmd->outfile = NULL;	if (argc < 2) {		return (0);	}	allfiles = 0;	flag['c'] = 0;	flag['h'] = 0;	flag['l'] = 0;	flag['m'] = 0;	flag['o'] = 0;	flag['s'] = 0;	flag['n'] = 0;	flag['t'] = 0;	flag['S'] = 0;	flag['C'] = 0;	for (i = 1; i < argc; i++) {		if (argv[i][0] != '-') {			if (cmd->infile) {			        f_print( stderr, "Cannot specify more than one input file!\n");				return (0);			}			cmd->infile = argv[i];		} else {			for (j = 1; argv[i][j] != 0; j++) {				c = argv[i][j];				switch (c) {				case 'a':					allfiles = 1;					break;				case 'c':				case 'h':				case 'l':				case 'm':				case 't':					if (flag[c]) {						return (0);					}					flag[c] = 1;					break;				case 'S':					/* sample flag: Ss or Sc.					   Ss means set flag['S'];					   Sc means set flag['C']; */					c = argv[i][++j];  /* get next char */					if( c == 's' )					  c = 'S';					else if( c == 'c' )					  c = 'C';					else					  return( 0 );					if (flag[c]) {						return (0);					}					flag[c] = 1;					break;				case 'C':  /* ANSI C syntax */					Cflag = 1;					break;#ifdef __GNU_LIBRARY__				case 'k':  /* K&R C syntax */					Cflag = 0;					break;#endif				case 'b':  /* turn TIRPC flag off for					    generating backward compatible					    */					tirpcflag = 0;					break;#ifdef __GNU_LIBRARY__				case '5':  /* turn TIRPC flag on for					    generating SysVr4 compatible					    */					tirpcflag = 1;					break;				case '$':					building_libc = 1;					break;#endif				case 'I':					inetdflag = 1;					break;				case 'N':					newstyle = 1;					break;				case 'L':					logflag = 1;					break;				case 'K':					if (++i == argc) {						return (0);					}					svcclosetime = argv[i];					goto nextarg;				case 'T':					tblflag = 1;					break;				case 'i' :				  	if (++i == argc) {						return (0);					}					inlineflag = atoi(argv[i]);					goto nextarg;				case 'n':				case 'o':				case 's':					if (argv[i][j - 1] != '-' ||					    argv[i][j + 1] != 0) {						return (0);					}					flag[c] = 1;					if (++i == argc) {						return (0);					}					if (c == 's') {						if (!streq(argv[i], "udp") &&						    !streq(argv[i], "tcp")) {							return (0);						}					} else if (c == 'o') {						if (cmd->outfile) {							return (0);						}						cmd->outfile = argv[i];					}					goto nextarg;				case 'D':					if (argv[i][j - 1] != '-') {						return (0);					}					(void) addarg(argv[i]);					goto nextarg;				case 'Y':					if (++i == argc) {						return (0);					}					{						size_t len = strlen (argv[i]);						pathbuf = malloc (len + 5);						if (pathbuf == NULL) {							perror(cmdname);							crash();						}						stpcpy (stpcpy (pathbuf,								argv[i]),							"/cpp");						CPP = pathbuf;						cppDefined = 1;						goto nextarg;					}				default:					return (0);				}			}	nextarg:			;		}	}	cmd->cflag = flag['c'];	cmd->hflag = flag['h'];	cmd->lflag = flag['l'];	cmd->mflag = flag['m'];	cmd->nflag = flag['n'];	cmd->sflag = flag['s'];	cmd->tflag = flag['t'];	cmd->Ssflag = flag['S'];	cmd->Scflag = flag['C'];	if( tirpcflag ) {	  pmflag = inetdflag ? 0 : 1;	  /* pmflag or inetdflag is always TRUE */	  if( (inetdflag && cmd->nflag)) { /* netid not allowed with inetdflag */	    f_print(stderr, "Cannot use netid flag with inetd flag!\n");	    return (0);	  }	} else {  /* 4.1 mode */	  pmflag = 0;               /* set pmflag only in tirpcmode */#ifndef __GNU_LIBRARY__	  inetdflag = 1;            /* inetdflag is TRUE by default */#endif	  if( cmd->nflag ) {          /* netid needs TIRPC */	    f_print( stderr, "Cannot use netid flag without TIRPC!\n");	    return( 0 );	  }	}	if( newstyle && ( tblflag || cmd->tflag) ) {	  f_print( stderr, "Cannot use table flags with newstyle!\n");	  return( 0 );	}	/* check no conflicts with file generation flags */	nflags = cmd->cflag + cmd->hflag + cmd->lflag + cmd->mflag +		cmd->sflag + cmd->nflag + cmd->tflag + cmd->Ssflag + cmd->Scflag;	if (nflags == 0) {		if (cmd->outfile != NULL || cmd->infile == NULL) {			return (0);		}	} else if (nflags > 1) {	        f_print( stderr, "Cannot have more than one file generation flag!\n");		return (0);	}	return (1);}