| #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); |
| } |