auths = login_getcapstr(lc, "auth", "", NULL);
auths = login_getcapstr(lc, "auth", NULL, NULL);
login_getstyle(lc, style, atype)	login_cap_t *lc;	char *style;	char *atype;{    	char **authtypes = _authtypes;	char *auths, *ta;    	char *f1, **f2;	int i;	f1 = 0;	f2 = 0;	/* Silently convert 's/key' -> 'skey' */	if (style && strcmp(style, "s/key") == 0)		style = "skey";    	if (!atype || !(auths = login_getcapstr(lc, atype, NULL, NULL)))		auths = login_getcapstr(lc, "auth", "", NULL);	if (auths) {		if (*auths) {			f1 = ta = auths = strdup(auths);			if (!auths) {				syslog(LOG_ERR, "strdup: %m");				return (0);			}			i = 2;			while (*ta)				if (*ta++ == ',')					++i;			f2 = authtypes = malloc(sizeof(char *) * i);			if (!authtypes) {				syslog(LOG_ERR, "malloc: %m");				free(f1);				return (0);			}			i = 0;			while (*auths) {				authtypes[i] = auths;				while (*auths && *auths != ',')					++auths;				if (*auths)					*auths++ = 0;				if (!*authtypes[i])					authtypes[i] = LOGIN_DEFSTYLE;				++i;			}			authtypes[i] = 0;					}	}	if (!style)		style = authtypes[0];			while (*authtypes && strcmp(style, *authtypes))		++authtypes;	if (*authtypes == NULL || (auths = strdup(*authtypes)) == NULL) {		if (f1)			free(f1);		if (f2)			free(f2);		if (*authtypes)			syslog(LOG_ERR, "strdup: %m");		lc->lc_style = 0;		return (0);	}	if (f2)		free(f2);	return (lc->lc_style = auths);}