1#include <unistd.h>
2#include <crypt.h>
3
4char *__crypt_r(const char *, const char *, struct crypt_data *);
5
6char *crypt(const char *key, const char *salt)
7{
8	/* This buffer is sufficiently large for all
9	 * currently-supported hash types. It needs to be updated if
10	 * longer hashes are added. The cast to struct crypt_data * is
11	 * purely to meet the public API requirements of the crypt_r
12	 * function; the implementation of crypt_r uses the object
13	 * purely as a char buffer. */
14	static char buf[128];
15	return __crypt_r(key, salt, (struct crypt_data *)buf);
16}
17