#include <unistd.h>
#include <crypt.h>

char *__crypt_r(const char *, const char *, struct crypt_data *);

char *crypt(const char *key, const char *salt)
{
	/* This buffer is sufficiently large for all
	 * currently-supported hash types. It needs to be updated if
	 * longer hashes are added. The cast to struct crypt_data * is
	 * purely to meet the public API requirements of the crypt_r
	 * function; the implementation of crypt_r uses the object
	 * purely as a char buffer. */
	static char buf[128];
	return __crypt_r(key, salt, (struct crypt_data *)buf);
}
