Index: fusl/src/crypt/crypt.c |
diff --git a/fusl/src/crypt/crypt.c b/fusl/src/crypt/crypt.c |
new file mode 100644 |
index 0000000000000000000000000000000000000000..46500737b6598ae58f740ba2808e35507e2b73ba |
--- /dev/null |
+++ b/fusl/src/crypt/crypt.c |
@@ -0,0 +1,16 @@ |
+#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); |
+} |