if (bits != 0)
if (strncmp(cp, SSH_DSS " ", 7) != 0)
key_read(Key *ret, unsigned int bits, char **cpp){	switch(ret->type) {	case KEY_RSA:		if (bits == 0)			return 0;		/* Get public exponent, public modulus. */		if (!read_bignum(cpp, ret->rsa->e))			return 0;		if (!read_bignum(cpp, ret->rsa->n))			return 0;		break;	case KEY_DSA:		if (bits != 0)			return 0;		if (!read_bignum(cpp, ret->dsa->p))			return 0;		if (!read_bignum(cpp, ret->dsa->q))			return 0;		if (!read_bignum(cpp, ret->dsa->g))			return 0;		if (!read_bignum(cpp, ret->dsa->pub_key))			return 0;		break;	default:		fatal("bad key type: %d", ret->type);		break;	}	return 1;}