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