BIO_printf(bio_err, "Warning: truncating password to %u characters\n", pw_maxlen);
BIO_printf(bio_err, "Warning: truncating password to %u characters\n", (unsigned)pw_maxlen);
static int do_passwd(int passed_salt, char **salt_p, char **salt_malloc_p,	char *passwd, BIO *out,	int quiet, int table, int reverse,	size_t pw_maxlen, int usecrypt, int use1, int useapr1)	{	char *hash = NULL;	assert(salt_p != NULL);	assert(salt_malloc_p != NULL);	/* first make sure we have a salt */	if (!passed_salt)		{#ifndef OPENSSL_NO_DES		if (usecrypt)			{			if (*salt_malloc_p == NULL)				{				*salt_p = *salt_malloc_p = OPENSSL_malloc(3);				if (*salt_malloc_p == NULL)					goto err;				}			if (RAND_pseudo_bytes((unsigned char *)*salt_p, 2) < 0)				goto err;			(*salt_p)[0] = cov_2char[(*salt_p)[0] & 0x3f]; /* 6 bits */			(*salt_p)[1] = cov_2char[(*salt_p)[1] & 0x3f]; /* 6 bits */			(*salt_p)[2] = 0;#ifdef CHARSET_EBCDIC			ascii2ebcdic(*salt_p, *salt_p, 2); /* des_crypt will convert			                                    * back to ASCII */#endif			}#endif /* !OPENSSL_NO_DES */#ifndef NO_MD5CRYPT_1		if (use1 || useapr1)			{			int i;						if (*salt_malloc_p == NULL)				{				*salt_p = *salt_malloc_p = OPENSSL_malloc(9);				if (*salt_malloc_p == NULL)					goto err;				}			if (RAND_pseudo_bytes((unsigned char *)*salt_p, 8) < 0)				goto err;						for (i = 0; i < 8; i++)				(*salt_p)[i] = cov_2char[(*salt_p)[i] & 0x3f]; /* 6 bits */			(*salt_p)[8] = 0;			}#endif /* !NO_MD5CRYPT_1 */		}		assert(*salt_p != NULL);		/* truncate password if necessary */	if ((strlen(passwd) > pw_maxlen))		{		if (!quiet)			BIO_printf(bio_err, "Warning: truncating password to %u characters\n", pw_maxlen);		passwd[pw_maxlen] = 0;		}	assert(strlen(passwd) <= pw_maxlen);		/* now compute password hash */#ifndef OPENSSL_NO_DES	if (usecrypt)		hash = DES_crypt(passwd, *salt_p);#endif#ifndef NO_MD5CRYPT_1	if (use1 || useapr1)		hash = md5crypt(passwd, (use1 ? "1" : "apr1"), *salt_p);#endif	assert(hash != NULL);	if (table && !reverse)		BIO_printf(out, "%s\t%s\n", passwd, hash);	else if (table && reverse)		BIO_printf(out, "%s\t%s\n", hash, passwd);	else		BIO_printf(out, "%s\n", hash);	return 1;	err:	return 0;	}