if (!isalpha(c) && !isdigit(c) && c != '@' && c != '_' && c != '-' && c != '.' && c != '+') goto bad;
if (!isalpha(c) && !isdigit(c)) { switch (c) { case '\'': case '"': case '`': case ' ': case '#': goto bad; default: break; } }
okname(cp0)	char *cp0;{	int c;	char *cp;	cp = cp0;	do {		c = (int)*cp;		if (c & 0200)			goto bad;		if (!isalpha(c) && !isdigit(c) &&		    c != '@' && c != '_' && c != '-' && c != '.' && c != '+')			goto bad;	} while (*++cp);	return (1);bad:	fprintf(stderr, "%s: invalid user name\n", cp0);	return (0);}