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