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