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