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